Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Сортировка по дате  (Прочитано 7689 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Avdey
Участник

ru
Offline Offline

« : 27-01-2012 10:20 » 

Доброго времени суток, подскажите что не так:
Ставлю сортировку по дате:

Код:
$sql = mysql_query("SELECT*FROM `b120398_storeofnavi`.`task` ORDER BY task_date");

А выдаёт список записей порядок которых такой-же как и в табле.
В столбце task_date формат записи времени вот такой: 27-01-2012 21:19:26 и при выводе это выглядит так.

27-01-2012 20:19:26
28-01-2012 05:45:16
28-01-2012 13:23:32

Когда вносятся данные в этот столбец используется следующий алгоритм:

Код:
$date_task = date("d-m-Y H:i:s",time());

Я где-то прочитал, что если при вводе даты в ячейку таблицы MYSQL не использовать MYSQL-функции то она сортироваться не будет по этому столбцу. Так что подскажите как правильно задать ORDER BY чтоб строчки выводились вот в таком порядке: 

28-01-2012 13:23:32
28-01-2012 05:45:16
27-01-2012 20:19:26

Самая новая запись была первой, а за ней на убыль по времени шли остальные.
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 27-01-2012 10:41 » new

order by <field> desc

Не?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 27-01-2012 10:43 » 

Код:
$sql = mysql_query("SELECT*FROM `b120398_storeofnavi`.`task` ORDER BY task_date");

А выдаёт список записей порядок которых такой-же как и в табле.
Порядок в таблице реляционной базы неопределенный. Запомни это и больше нигде на таких слов не говори. Только ORDER BY задает определенный порядок.

Цитата
Я где-то прочитал, что если при вводе даты в ячейку таблицы MYSQL не использовать MYSQL-функции то она сортироваться не будет по этому столбцу.
Бред.

Цитата
Так что подскажите как правильно задать ORDER BY чтоб строчки выводились вот в таком порядке:  

28-01-2012 13:23:32
28-01-2012 05:45:16
27-01-2012 20:19:26

Самая новая запись была первой, а за ней на убыль по времени шли остальные.

Код: (SQL)
ORDER BY task_date DESC

Документация здесь: http://dev.mysql.com/doc/refman/5.5/en/
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Avdey
Участник

ru
Offline Offline

« Ответ #3 : 27-01-2012 11:14 » 

Заработало, большое спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines