Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вывести по дате - больше чем сейчас и меньше, чем через месяц
 
 автор: taurus   (21.12.2013 в 01:38)   письмо автору
 
 

$dat=date("m-d");
$dat2 = date('m-d',strtotime(date("m-d", mktime()) . " + 30 days")); 
$res=mysql_query("SELECT * FROM table where den >='$dat'  && den <='$dat2' ORDER by `den` asc Limit 10");

Что-то не хочет так выводить. В таблице у дней нет года, поэтому в конце декабря на стыке года не выводит январские дни.... Не переходит за новый год!!!!

  Ответить  
 
 автор: Valick   (21.12.2013 в 08:09)   письмо автору
 
   для: taurus   (21.12.2013 в 01:38)
 

читайте про INTERVAL в MySQL
и забудьте про всякие
$dat=date("m-d");
$dat2 = date('m-d',strtotime(date("m-d", mktime()) . " + 30 days"));
не лепите горбатого к стенке

  Ответить  
 
 автор: Sfinks   (22.12.2013 в 16:02)   письмо автору
 
   для: taurus   (21.12.2013 в 01:38)
 

> В таблице у дней нет года
Такого быть не должно. Дата должна храниться в поле типа DATE.
Тогда и проблем не будет. И запрос будет элементарным:
SELECT *
FROM table
WHERE den BETWEEN now()+interval 1 day AND now()+interval 1 month
ORDER by den
Limit 10

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования