Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Mysql группировка по дате
Покинул форум
Сообщений всего: 151
Дата рег-ции: Май 2012
Помог: 1 раз(а)
Добрый день! Пишу код который из базы берет записи по дате продажи(saledate) и по состоянию(sost=2). Хочу вывести их в блоки...т.е. что бы был блок "2014-02-28", а в нем все проданные товары за эту дату..
Но при выводе у меня берет все даты где состояния товара =2, и выводит их...получается что к примеру, если 2014-02-28 было две продажи, то выводится 2 блока с этими продажами...как сделать правильную группировку по дате?
peters
Отправлено: 04 Апреля, 2014 - 11:55:40
Гость
Покинул форум
Сообщений всего: 90
Дата рег-ции: Янв. 2014
$q="select sost,saledate,img from products where sost=2 ORDER BY saledate ASC";
А в скрипте перебора результата запроса проверяем, если дата текущей строки не равна дате из прошлой строки, то выводим Вашу "шапку" с датой, иначе продолжаем выводить img
esterio
Отправлено: 04 Апреля, 2014 - 12:09:46
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
Ну так если и есть две записи по данной дате и состоянию то mysql и вернет вам две записи. если вам нужна одна запись, то может подойдет LIMIT 1. только вот для чего такое не знаю
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.