[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выбор из БД данных с отложением по вермени
ak167
В БД записываются данные в таблицу "post", в которой есть ячейка "time". Иногда мне нужно поблуковать данные с отсрочкой. Для этого я в графу "time" записываю данные в виде time()+3600 а потом в sql-строке запроса указываю WHERE time<".time().", чтобы выбирались только те данные, которые меньше текущего времени. Если данные больше текущего времени, то они будут выбираться позже. В данном примере через 3600 секунд.
Однако, это не работает!!! После того, как я добавил WHERE time<".time()." данные вообще перестали выбираться причем абсолютно все. Почему?



Спустя 23 часа, 12 минут, 37 секунд (29.09.2010 - 17:15) ak167 написал(а):
Ааауууу... неужели никто не знает?

Спустя 1 час, 9 минут, 54 секунды (29.09.2010 - 18:25) inpost написал(а):
ak167
Может дату указать как: Y,m,d ?

Спустя 44 минуты, 57 секунд (29.09.2010 - 19:10) sergeiss написал(а):
Самое простое и НУЖНОЕ, что надо сделать:
$sql=.... ; //сформировать запрос
echo $sql; // посмотрет, что же ты на самом деле передаешь в обработчик

А уж затем думать, что же там "не так".

Спустя 47 минут, 6 секунд (29.09.2010 - 19:57) ak167 написал(а):
inpost, если указать дату в д.м.у. будет сложнее отобрать.

sergeiss, попробую. Но думаю все правильно указываю. А как вы обычно делаете, если нужно выбрать из базы данные меньше, чем например 1000. Указываете WHERE data<'1000' или как?

Спустя 12 минут, 53 секунды (29.09.2010 - 20:10) sergeiss написал(а):
Цитата (ak167 @ 29.09.2010 - 20:57)
Но думаю все правильно указываю

Тут не думать надо, а проверить.

Цитата (ak167 @ 29.09.2010 - 20:57)
Указываете WHERE data<'1000' или как?

Тут еще от формата данных зависит. Для даты может быть по-другому как-то. Тебе inpost об этом сказал, хотя и в не совсем явном виде.

Поэтому - посмотри, какой у тебя запрос получается. И здесь его тоже покажи.

Спустя 4 часа, 1 минута, 55 секунд (30.09.2010 - 00:12) SlavaFr написал(а):
ot:
@ak167 какое описание, такие и ответы. Не указал какая база данных, вид поля, не показал ни кода ни запроса, ни сказал используеш ли mysql_error или другие функции выдающие ошибки базы данных.
Самое обидное, что описал прекрасно что желаеш получить, но при этом не дал не какой информации из которой можно начинать тебе помогать. Остоется только или гадать как это зделал inpost, или задавать кучу вопросов чего не зделал ни кто, или давать общие советы которые дал sergeiss и о которых практически все начинающие знают, или подумать:"догадается ли он сам, почему ему не кто не отвечает?" как это зделал в начале я.

Спустя 8 часов, 56 минут, 19 секунд (30.09.2010 - 09:08) dr_Lev написал(а):
Если тип поля time - datetime, то можно использовать такой фильтр - WHERE `time`<NOW() (NOW - встроенная функция MySQL для определения текущего времени), если строка (varchar), то можно так - WHERE CAST(`time` AS DATETIME)<NOW()
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.