Помощник
|
Исключение повторений одного поля при запросе в MySql |
Avin
|
Сообщение
#1
|
||
|
|
||
|
|||
matroskin8 |
22.2.2012, 16:09;
Ответить: matroskin8
Сообщение
#2
|
|
Дамп таблицы выложите.
|
|
|
Avin
|
Сообщение
#3
|
|
Вот дамп, данных немного
CREATE TABLE IF NOT EXISTS `price` (
`id` smallint(10) NOT NULL AUTO_INCREMENT, `type` varchar(200) NOT NULL, `text` text NOT NULL, `cost` varchar(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=4; -- -- Dumping data for table `price` -- INSERT INTO `price` (`id`, `type`, `text`, `cost`) VALUES (1, 'Администрирование 1С', 'Добавление нового пользователя', '240'), (2, 'Установка и настройка ОС и ПО', 'Клонирование ОС', '520'), (3, 'Администрирование 1С', 'Перенос данных между БД', '410'); |
|
|
Светозар |
23.2.2012, 10:51;
Ответить: Светозар
Сообщение
#4
|
|
похожая тема тут: http://www.masterwebs.ru/topic/9771-vopros...u-dannih-iz-bd/
Постараюсь ответить там! |
|
|
matroskin8 |
23.2.2012, 14:46;
Ответить: matroskin8
Сообщение
#5
|
|
Эта тема больше относится к PHP. Кстати, аналогичную задачу решал там буквально недавно.
По базе. По хорошему не мешало бы ее нормализовать. В частности, поле type выносится в справочник. Ну да это частности Вот код, откомментировал по максимуму: <?php mysql_connect("localhost", "root", ""); mysql_query("SET NAMES 'utf8'"); mysql_select_db("test"); $query = "SELECT * FROM price ORDER BY type"; $res = mysql_query($query); $data = array(); while($row = mysql_fetch_assoc($res)){ $data[] = $row; // получаем данные в массив } //print_r($data); $group = $data[0]['type']; // выбираем первый тип и помещаем в переменную group echo '<b>' .$group. '</b><hr>'; // выводим первый тип /* проходимся по массиву */ foreach($data as $item){ /* если текущий тип не совпадает с имеющимся в переменной group */ if($group != $item['type']){ echo '<br><b>' .$item['type']. '</b><hr>'; // то выводим новый тип $group = $item['type']; // и заносим новый тип в переменную group } /* если же текущий тип совпадает с имеющимся в переменной group, то цикл пропускаем */ echo $item['text']. ' || '; // выводим текст echo $item['cost']. '<br>'; // выводим цену } ?> Результат на выходе: Администрирование 1С
Добавление нового пользователя || 240 Перенос данных между БД || 410 Установка и настройка ОС и ПО Клонирование ОС || 520 |
|
|
Avin
|
Сообщение
#6
|
|
|
|
|
matroskin8 |
24.2.2012, 1:30;
Ответить: matroskin8
Сообщение
#7
|
|
|
Пожалуйста
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на первый заказ. Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на п |
6 | stu999 | 1551 | 21.3.2024, 20:45 автор: stu999 |
|
Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery Разработка сайтов и сервисов под-ключ |
0 | alexey | 1170 | 24.11.2023, 14:46 автор: alexey |
|
Получил странную ссылку при линкбилдинге Как поведет себя поиск при обнаружении странной ссылке? |
10 | r0mZet | 2178 | 24.10.2022, 19:23 автор: Wachowski |
|
300 площадок под вечные ссылки на выбор: ТИЦ 20-9400, PR 0-6, ЯК, DMOZ. Скидки при пакетном заказе! | 65 | inkon | 30255 | 19.7.2022, 13:41 автор: Funoman |
|
тИЦ отменили! Новый показатель Яндекса ИКС! Лучшие площадки под размещение. Бесплатное написание статей при любом заказе. Эксклюзивное предложение. Успей получить написание статей БЕСПЛАТНО |
71 | VIMstat | 78310 | 21.6.2022, 9:38 автор: VIMstat |
Текстовая версия | Сейчас: 28.3.2024, 23:57 |