Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Формат даты последнего обновления раздела

11.06.2013, 19:23
Гость
Гость

День добрый всем.

При таком запросе (в шаблоне вывода навигации) выводится полная дата включая время, а мне нужна только дата
Код:
\".\$db->get_var(\"SELECT LastUpdated FROM Message71 WHERE Subdivision_ID=\".\$data[\$i]['Subdivision_ID']).\"


Собственно вопрос как вывести только дату?
14.06.2013, 13:35
Руслан Густокашин
Студия Вэлпис

Зарегистрирован:
2012-02-06
Сообщений: 962

Например так:
... SELECT DATE_FORMAT(LastUpdated,'%d.%m.%Y') FROM Message71 ...
Но это очень нехорошее решение - делать SQL-запросы в цикле. Нет ли другого решения?
Кстати, у вас выбирается вся пачка объектов в разделе. Надо бы поставить еще limit 1 в конце запроса и еще order by.
14.06.2013, 14:07
Гость
Гость

То что нужно улыбка, другого решения я на форуме не нашел нет
14.06.2013, 14:25
Руслан Густокашин
Студия Вэлпис

Зарегистрирован:
2012-02-06
Сообщений: 962

Пожалуйста!
А вы подробнее опишите задачу - для чего нужно выводить дату в навигации, может быть совместными усилиями найдем более грамотное решение.
15.06.2013, 11:30
Гость
Гость

Ситуация такая, в "наследство" от предшественника достала сайта фирмы на версии 3.0. После разговора с руководством я понял, что финансировать обновление они не собираются (это я к тому, что переход на другую версию невозможен).

Но ближе к делу, есть раздел новостей, в котором есть подразделы (по странам), на странице с выводом всех новостей выводится меню подразделов, где у наименования подраздела указывается дата его последнего обновления.

Вот такая задача.
16.06.2013, 22:08
Руслан Густокашин
Студия Вэлпис

Зарегистрирован:
2012-02-06
Сообщений: 962

Тогда правильнее будет создать в системной таблице "Разделы" дополнительное поле типа "Дата и время", например LastDate.
И в компоненте "Новости" в действиях после добавления, изменения, включения/выключения поставить запрос:
$db->query("update Subdivision set LastDate=CURDATE() where Subdivision_ID='$sub'");
Ну и, соответственно, исправить вывод этого поля:
\$data[\$i]['LastDate']
Можно потом отформатировать вывод даты с помощью функций date+strtotime, чтобы выводилась только дата, без часов.

При такой схеме нагрузка на сервер значительно уменьшится - не будет лишних запросов к базе.
198 196 2013-06-16 22:08:53 13101
Описание проекта