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

Форум MySQL

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

 

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

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

тема: Поиск по диапазонам дат
 
 автор: dailik   (16.09.2012 в 13:29)   письмо автору
 
 

Нужно реализовать вот что:
по календарю чел выберает дату и -до
нажимает ОК и скрипт ищет это 'start_date' -до это 'expire_date'
сейчас скрипт такой

select * from d_books where 
   start_date <=  '$start' 
AND 
  expire_date >= '$expire'
и т.д.


есть числа (start_date 2012-09-16) до (expire_date 2012-09-25) там есть инфа

если что-то есть в бд (с 2012-09-16 до 2012-09-25) выводится сообщение "занято" все работает,
вопрос вот в чем как реализовать если чел выбрал даты (с 2012-09-20 до 2012-09-30) или (с 2012-09-10 до 2012-09-18...
скрипт что я написал уже не работает в таком случае

тоесть получается нужно както проверять и одно число слева или справа а не 2 разом,
кто сталкивался может есть решение ?

  Ответить  
 
 автор: cheops   (16.09.2012 в 18:16)   письмо автору
 
   для: dailik   (16.09.2012 в 13:29)
 

Хм... может подходящих записей нет? Можно увидеть кусочек дампа с нужным диапазоном, чтобы воспроизвести ситуацию?

  Ответить  
 
 автор: Sfinks   (16.09.2012 в 18:52)   письмо автору
 
   для: dailik   (16.09.2012 в 13:29)
 

Посмотрите это
Не то что вам надо?
в вашем случае получается
 .....
WHERE ( start_date <= '$start' AND expire_date >= '$expire')
   OR start_date BETWEEN '$start' AND '$expire'
   OR expire_date BETWEEN '$start' AND '$expire' AND expire_date 

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

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