Проблема следующего характера: есть таблица, в ней три колонки id, name, time (в формате time()), station_id.
Нужно: отсортировать все строки по дате времени и вывести на экран в следующем формате:
1-09
нейм
нейм1
неймм999
2-09
нейм
нейм9999
Но у меня что-то не выходит. Выводит только 1 дату, хотя есть и другие. Код:
$q = DB::$dbs->query("SELECT `time`, group_concat(name) AS name FROM tables WHERE station_id = '100' order BY time DESC");
$q->execute();
while($list = $q->fetch())
{
echo date('d-m-Y', $list['time']);
$name= explode(',', $list['name'] );
for ($count = 0; $count <= count($name)-1; $count++) {
echo $name[$count].'<br />';
}
}
Использование агрегатных функций без группировки приводит к тому, что они работают по всем отобранным записям, возвращая один результат
SELECT `time`, group_concat(name) AS name
FROM tables
WHERE station_id = '100'
group by time
order BY time DESC
Такой запрос соберет имена для каждого времени
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости