|
|
|
| Добрый день. Ситуация следующая, необходимо делать выборку из базы по конкретному дню. Скажем дню последнего занесения записей в базу (предположим всех записей за 20-е число). Выборку из базы записей по текущей дате я сделал, а здесь сообразить не могу. Сколько времени свежие записи не будут добавлятся в базу заранее не известно. Разница может быть в день, а может быть в неделю. Все время пока нет новых записей по текущей дате, на странице должны выводится записи за последнее число (скажем 20-е число) и только за него. | |
|
|
|
|
|
|
|
для: Ghostnm
(21.10.2005 в 15:50)
| | Попробуй такой запрос
select * from table where date = (select max(date) from table);
Будет работать только в версии выше 4.1 | |
|
|
|
|
|
|
|
для: WebTech
(21.10.2005 в 17:53)
| | Большое спасибо за вариант :) , попытаюсь его прикрутить | |
|
|
|
|
|
|
|
для: WebTech
(21.10.2005 в 17:53)
| | Возможно аналогичная проблема, если не в тему - прошу прощения.
Есть таблица с полями (MySQL 4.0.*)
id
inn
email
dayzakaz
Нужно выбрать те записи, которые были внесены за последние 31 дней.
Если ни чего не найдено - то одно действие, найдено - другое.
Вот что я пишу:
$query = mysql_query("SELECT * FROM table WHERE (inn='$innkpp' OR email='$milo') AND ( (NOW() - dayzakaz)<31) OR (NOW() - dayzakaz)=0) )");
и далее действия по условию mysql_num_rows($query) >=1; - делаем то и то, если mysql_num_rows($query) <=0; то другое.
Интересует момент (NOW() - dayzakaz)<31) OR (NOW() - dayzakaz)=0) )
Почему не срабатывает? (записи в базе есть, формат даты заносится из date("Y-m-d") в таблицу, в ячейку с параметром DATE (0000-00-00)?
Подскажите пожалуйста, что не так. Спасибо! | |
|
|
|
|
|
|
|
для: Eloim
(01.12.2005 в 15:39)
| | Нет конструкция (NOW() - dayzakaz)<31) OR (NOW() - dayzakaz)=0) не сработает, так как вычитание нельзя применять непосредственно к календарным типам. Необходимо восползоваться конструкцией dayzakaz > NOW() - INTERVAL 31 DAY
<?php
$query = mysql_query("SELECT * FROM table WHERE (inn='$innkpp' OR email='$milo') AND (dayzakaz > NOW() - INTERVAL 31 DAY)");
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(01.12.2005 в 23:49)
| | Огромное СПАСИБО!
Все работает! | |
|
|
|
|
|
|
|
для: Ghostnm
(21.10.2005 в 15:50)
| | За 20 число записи можно выбрать при помощи запроса
SELECT * FROM tbl WHERE DAYOFMONTH(putdate) = 20
|
А вот со свежими записями чего-то не очень понятно... | |
|
|
|
|
|
|
|
для: cheops
(22.10.2005 в 01:15)
| | Ваш пример тоже навел наконец на мысль :) . Попробую сделать отпишу результаты. Как раз запрос по свежим числам я и сделал, а вот теперь кажется доехал как сделать ссылки на предыдущие дни. | |
|
|
|