Добрый вечер. Работаю над выводом лога событий и столкнулся с такой вот проблемой: Делал запрос для вывода событий по времени и дате используя запрос: [sql]SELECT DISTINCT `event`, `date` FROM `xxx` WHERE `user` = '$user' ORDER BY `date`, `time` DESC[/sql] И спустя некоторое время обратил внимание на 2 проблемы: С датами все в порядке, а вот время оказывается необходимо сортировать в обратном порядке (ASC), более того час с ведущим 0 по какойто причине оказался выше 14:58:04. Как мне построить правильный запрос и организовать все это дело? Для столбика date задан тип (DATE) и time (TIME), и данные в них хранятся в виде Y-m-d и H:i:s :?:
Добрый Может и не совсем помогу, но хочу сказать следующее -- не путайте дату и временную метку (штамп). В контексте удобства это две разные вещи. Дата -- это дата рождения, дата начала кризиса. Штамп -- это дата и время написания поста, голосования. В последнем случае даты принадлежат современности и над ними очень часто производят математические операции, поэтому временные метки удобно хранить в UNIX_TIMESTAMP. Не поленитесь, перегоните все даты в него. Тогда и все вопросы отпадут.
В общем перевел базу на unix timestamp и теперь в поле date храниться число сгенерированное функцией mktime(), но все же, при выводе вот такая белеберда (не понимаю почему): Поле date храню в типе VARCHAR
1. не увидел проблемы с — отсортировано согласно запросу (дата увеличивается, время убывает) 2. - дату хранить не обязательно - можно сгенерить с timestamp - думаю тут SQL тоже верно отработал - дата и время увеличивается 3.