|
|
|
| Есть такой запрос:
SELECT MONTH( created ) AS created_month, created, id, title, YEAR( created ) AS created_year
FROM content
ORDER BY created DESC
|
для выводит статьи с сортировкой по дате.
Вот print_r:
Array
(
[0] => stdClass Object
(
[created_month] => 1
[created] => 2012-01-18 17:25:00
[id] => 15
[title] => Видео: демонстрация технологии тотальной разрушаемости Levolution в Battlefield 4
[created_year] => 2012
)
[1] => stdClass Object
(
[created_month] => 1
[created] => 2012-01-10 17:24:00
[id] => 14
[title] => Goodram представила SSD-накопители C Series
[created_year] => 2012
)
[2] => stdClass Object
(
[created_month] => 1
[created] => 2011-01-18 17:25:17
[id] => 13
[title] => Видео: демонстрация технологии тотальной разрушаемости Levolution в Battlefield 4
[created_year] => 2011
)
[3] => stdClass Object
(
[created_month] => 1
[created] => 2011-01-10 17:24:00
[id] => 12
[title] => Goodram представила SSD-накопители C Series
[created_year] => 2011
)
[4] => stdClass Object
(
[created_month] => 1
[created] => 2011-01-01 14:23:00
[id] => 11
[title] => AMD планирует выручить около $46 млн от продажи зданий в Сингапуре
[created_year] => 2011
)
)
|
Как вывести так, чтоб материалы можно было сгрупировать по годам? Т.е. узнать, когда в цикле заканчивается один год и начинается следующий? | |
|
|
|
|
|
|
|
для: lutsk
(02.09.2013 в 21:00)
| | Сортируйте по году и месяцу. | |
|
|
|
|
|
|
|
для: confirm
(02.09.2013 в 21:02)
| | Я может не правильно пояснил задачу. Мне нужно в цикле, например, когда заканчивается год, вставить какой-нибуть тег в коде. Разделить вывод по годам как-бы. | |
|
|
|
|
|
|
|
для: lutsk
(02.09.2013 в 21:11)
| | Зачем вы вообще преобразуете дату для сортировки? Во-первых не видно, чтобы у вас было по убыванию, а во вторых вам же нужна сортировка по году, и его же месяцев. Ну а в цикле легко получить год из даты присваивая его внешней к циклу переменной, и если она не равна текущему году, значит вывод нужного.
PS. Поторопился, по убыванию месяц ) | |
|
|
|
|
|
|
|
для: confirm
(02.09.2013 в 21:15)
| | >Зачем вы вообще преобразуете дату для сортировки? Во-первых не видно, чтобы у вас было по убыванию, а во вторых вам же нужна сортировка по году, и его же месяцев. Ну а в цикле легко получить год из даты присваивая его внешней к циклу переменной, и если она не равна текущему году, значит вывод нужного.
>
Да преобразование просто для вывода там. Можно не обращать внимания.
А вот по поводу в цикле легко получить год из даты присваивая его внешней к циклу переменной, и если она не равна текущему году, - котелок не варит как правильно сделать. | |
|
|
|
|
|
|
|
для: lutsk
(02.09.2013 в 21:35)
| |
<?
$dt = 0;
//это цикл выводящий ресурс
//правда у вас запрашивается объект, судя по результату, но это не так важно для понимания
//и я в примере использую получение массива
while($row = mysql_fetch_assoc($q)) {
if($dt != $row['created_year']) {
//здесь вывод нужного тега
$dt = $row['created_year'];
}
//здесь основной вывод
}
|
| |
|
|
|
|
|
|
|
для: confirm
(02.09.2013 в 22:03)
| | Всё ясно, спасибо большое за пример! Получилось. Плюс поставил бы, но пока не знаю как | |
|
|
|
|
|
|
|
для: lutsk
(02.09.2013 в 22:19)
| | Куда плюс и зачем? | |
|
|
|