Привет, всем помогите,
Есть таблица статей с id,title,text,dt.
Как мне сделать выборку записей где dt = time() и в промежуток например с 20:30 до 21:00
P.s dt = int (unix)
Может не правильно описал проблему, говорите если что , очень нужна ваша помощь
Заранее спасибо
1. mik - 12 Декабря, 2011 - 00:25:30 - перейти к сообщению
2. Panoptik - 12 Декабря, 2011 - 00:37:30 - перейти к сообщению
http://phpclub[dot]ru/mysql/doc/date[dot][dot][dot]e-functions[dot]html
посмотрите, мож че интересного найдете. если будут вопросы напишите что вы пробовали, и что никак не получается
посмотрите, мож че интересного найдете. если будут вопросы напишите что вы пробовали, и что никак не получается
3. mik - 12 Декабря, 2011 - 00:40:02 - перейти к сообщению
Спасибо , попробую)
4. Panoptik - 12 Декабря, 2011 - 13:23:27 - перейти к сообщению
Цитата:
это тип unixtimestamp или int?
P.s dt = int (unix)
5. mik - 12 Декабря, 2011 - 13:29:40 - перейти к сообщению
Panoptik пишет:
это тип unixtimestamp или int?
Тип столбца Int а запись в eдином числе (unix)
6. Panoptik - 12 Декабря, 2011 - 13:33:01 - перейти к сообщению
что значит в едином числе? это метка времени? можно пример?
7. mik - 12 Декабря, 2011 - 13:38:49 - перейти к сообщению
я передаю дату и потом с помощью mktime() перевожу ее в unix (time())
8. Panoptik - 12 Декабря, 2011 - 13:57:25 - перейти к сообщению
вот извращения с математическими операциями, но лучше вам преобразовать данные в поле dt в тип unixtimestamp тогда можно будет использовать функции для работы с датой и временем, в данном случае не учитывается часовой пояс, так что может быть сдвиг на несколько часов
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- SELECT * FROM `table_time` WHERE ((`dt`%86400)/3600)>=21 AND ((`dt`%86400)/3600)<=22 AND ((`dt`%1440)/60)>=30