Вывод сообщений объеденённых по дате

aaachilov

Новичок
Всех с новым годом, успехов во всех начинаниях!
Помогите пожалуйста с логикой вывода сообщений

Например и имеем:
PHP:
 id  | message      |   date
---------------------------------
 1   | Сообщение 1  |   1.01.2012
 2   | Сообщение 2  |   1.01.2012
 3   | Сообщение 3  |   2.01.2012
 4   | Сообщение 4  |   2.01.2012
 5   | Сообщение 5  |   2.01.2012
 6   | Сообщение 6  |   2.01.2012
 7   | Сообщение 7  |   3.01.2012
 8   | Сообщение 8  |   3.01.2012

Требуется разбить сообщения на группы по дате, то есть вывести в таком виде

PHP:
-------- 1.01.2012 --------
Сообщение 1
Сообщение 2
-------- 2.01.2012 --------
Сообщение 3
Сообщение 4
Сообщение 5
Сообщение 6
-------- 3.01.2012 --------
Сообщение 7
Сообщение 8

Намекните как это лучше реализовать.
Заранее всем огромное спасибо!
 
1. ввести переменную, запомнить в нее текущее значение даты, сверять при выводе, если не равняется, показывать -------- 1.01.2012 --------
2. ПЕРЕСТАТЬ писать в теорию. Как минимум на год.
 
PHP:
$data = get_message_list();
$output = array();
foreach($data AS $v) {
    $output[ $v['date'] ][] = $v;
}
 
AmdY
Спасибо - зделал почти так - почти один в один))))
Теперь другой вопрос не получается решить - сообщения выводятся например по 10 штук и разбивка по дням ещё разбивается - фигня короче получается. Вот думаю как лучше сделать - наверное выводить все таки определённое количество - просто дописывать к дате.
Всем огромное спасибо за помощь!
 
AmdY
новогодний подарок? ТС же думающий, мог бы сам дойти.

aaachilov
Какая именно фигня и как именно получается?
 
Mr_Max
я на работе 3 часа потратил в попытке репродюсить баг, так что код мне писать в кайф, нежели лазить по дебагу.

aaachilov
сделай страшное - достань одним запросом нужное количество дней c сообщениями GROUP BY, а затем в цикле для каждого из них запрос на выборку 10 сообщений за этот день. это лучше нежели пытаться проглотить большой кусок за раз, особенно когда дебажить будешь через пол года.
 
Absinthe
проверил, все ок.
странно вроде был такой случай месяц назад, там варнинг вылетал. хм.
 
Сверху