|
|
|
| Я делаю календарь событий который с их дня(месяц и день, а год не учитывается) которых не прошло 7 дней то есть события будут отображаться на странице которые не старше 7 дней. Какой запрос написать чтобы выбрать эти записи ???
Я пытался сделать хотя бы только со сравнением текущей даты но почему то выборка записей равно 0 и ничего не показывает то есть срабатывает условие - echo "Нету ничего". Как сделать?
<?
$query = "SELECT * FROM events WHERE dates=NOW()";
$result = mysql_query ($query) or die("Неправильный запрос : " . mysql_error());
$row = mysql_fetch_object ($result);
if (mysql_errno()!= 0)
{
echo "<p>Ошибка</p>";
exit;
}
else
{
if (mysql_num_rows ($result) == 0)
{
echo "Нету ничего";
}
else
{
while ($row=mysql_fetch_object($result))
{
echo $row->event;
}
}
}
?>
|
Вот таблица:
CREATE TABLE `events` (
`id_event` int(11) NOT NULL auto_increment,
`event` varchar(60) NOT NULL,
`dates` date default NULL,
`insert_date` datetime NOT NULL,
PRIMARY KEY (`id_event`)
) | |
|
|
|
|
|
|
|
для: Buhen
(15.01.2008 в 16:43)
| | Никто не знает? | |
|
|
|
|
|
|
|
для: Buhen
(15.01.2008 в 18:36)
| | Если не ошибаюсь то так:
$query="SELECT * FROM events WHERE dates > NOW() - INTERVAL 7 DAY";
|
| |
|
|
|
|
|
|
|
для: ronin
(15.01.2008 в 19:06)
| | Не..так не подходит! Например: Новый Год он же каждый год происходит а если в базе будет например дата 2008-01-15? Он определит только для 2008 года и все а другие года не подойдут как тогда делать? может поле изменить ? счас у меня тип DATETIME | |
|
|
|
|
|
|
|
для: Buhen
(15.01.2008 в 22:00)
| | чтоб с датаой баловаться:
$query="SELECT DATE_FORMAT(dates,\"%d-%m-%Y\") As newdate FROM events WHERE newdate> NOW() - INTERVAL 7 DAY";
|
формат типа 15-01-2008 | |
|
|
|