Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Неправильно сортирует по дате, Помогите 
V
    Опции темы
Gtaman
Дата 1.5.2006, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 10.4.2006

Репутация: нет
Всего: нет



Дело вот в чем..... На форуме нужно отсортировать сообщения по дате, по возрастанию. Делаю вот как ORDER BY data

В стобце дата хранится дата в формате день.месяц.год, час:минута:секунда, формат - varchar. Так вот в чем проблема: сортируется нормально в пределах одного месяца...... к примеру, написал я сообщение 21 апреля, то дата поста - 21.04.06, 20:00:00, а потом написал сегодня и дата - 01.05.06, 21:00:00, так вот, то что было написано в апреле - сортируется нормально, а то что седня написал - отсортировало, как меньшее и поместило вверх! 
PM MAIL   Вверх
Kesh
Дата 1.5.2006, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 5
Всего: 54



Gtaman, а ты как хотел... Он все правильно сделал... smile
А даты обычно хранять либо как timestamp либо как date... А уже при выводе форматируют, как надо... 


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
madFobos
Дата 2.5.2006, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 102
Регистрация: 7.12.2005

Репутация: 1
Всего: 3



Ага, самое удобное сделай колонку data типом TIMESTAMP со значение по умолчанию CURRENT_TIMESTAMP (в этом случае у тебя колонка будет автоматом дату обновлять при обновлении или добавлении строки). А уже при выводе делай ORDER BY date стандартное.... Плюс если дату надо извлекать и показывать используй функцию MySQL date_format().

В твоем же примере дата как строка сортируется... А не как дата. 
PM MAIL   Вверх
Gtaman
Дата 3.5.2006, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 10.4.2006

Репутация: нет
Всего: нет



Всем спасибо, додумался как-то сам smile UNIX_TIMESTAMP использовал.

А вообще, можно и без таймстампа обойтись, просто в time() запихнуть дату и все. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0657 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.