запрос:
SELECT DATE_FORMAT( entry_time, '%D %M' ) as date,
GROUP_CONCAT( DATE_FORMAT( entry_time, '%h:%i %p' )
ORDER BY entry_time ASC
SEPARATOR '<br />' ) as times
FROM yourtable
GROUP BY DATE( entry_time )
ORDER BY entry_time
приводит к:
> date times
> 21st April 3:00 PM<br />3:50 PM
> 22st April 5:00 AM<br />4:00 PM
, затем вы можете пройти его:
foreach($result as $row) {
echo $row->date. '<br />'. $row->times. '<br />';
}
изменить: преимущество заключается в том, что вся сортировка и форматирование выполняются в движке mysql, поэтому у вас есть готовый результат для отображения
edit2: Этот запрос даст вам именно тот результат, который вы хотите:
SELECT CONCAT( DATE_FORMAT( entry_time, '%D %M' ), "<br />\n",
GROUP_CONCAT( DATE_FORMAT( entry_time, '%h:%i %p' )
ORDER BY entry_time ASC
SEPARATOR '<br />' ), "<br /><br />\n"
) as dates
FROM yourtable
GROUP BY DATE( entry_time )
ORDER BY entry_time
используйте foreach (или любой другой массив функций), чтобы пройти через него:
foreach($result as $row) { echo $row->dates; }