Помогите с выборкой значений таблицы, дата которых больше, чем текущая.

dim-dem

Новичок
Помогите с выборкой значений таблицы, дата которых больше, чем текущая.

Есть таблица, а которой есть поля:
day (вида: 1,2,3...)
month (вида: 1,2,3...)
year (вида: 1,2,3...)
Такой формат записи даты был нужен.

Сортировку я делаю так:
"SELECT * FROM $table ORDER BY year ASC, month ASC, day ASC limit 10"
Как сделать выборку по значениям таблицы, дата которых больше, чем текущая.
 

tony2001

TeaM PHPClub
[sql]
select * from table where UNIX_TIMESTAMP(concat(year,'-',month,'-',day,' 00:00:00')) > UNIX_TIMESTAMP();
[/sql]

1) year, month, day - зарезервированные слова. использовать их для имен поля - плохая идея.
2) хранить дату в таком виде - плохая идея. очень слабо себе представляю реальный случай, когда такое необходимо. и, судя по всему, тут такого случая нет.
 

dim-dem

Новичок
tony2001, работает! Но непонятно, почему не выбирает значения с такими датами:
6.12.4
8.12.4
5.3.4
 

dim-dem

Новичок
Дело в том, что мне дали уже написанный другим человеком сайт с таким дебильным форматом даты.
Чтобы не переписывать его весь, пытаюся найти выход.
Помогите, плз.
 

dim-dem

Новичок
Автор оригинала: tony2001
[sql]
select * from table where UNIX_TIMESTAMP(concat(year,'-',month,'-',day,' 00:00:00')) > UNIX_TIMESTAMP();
[/sql]
Тони, пасиб тебе, разобрался, только немного изменил и все заработало.
[sql]
select * from table where UNIX_TIMESTAMP(concat(year,'-',month,'-',day)) > UNIX_TIMESTAMP();
[/sql]
 
Сверху