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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Выбрать период

Сообщения:  [1-10] 

 
 автор: ZeeG   (14.04.2008 в 18:30)   письмо автору
 
   для: mechanic   (14.04.2008 в 18:02)
 

спасибо, вот только маленькая поправка, вдруг кому еще нужно будет

SELECT `perid` FROM `periods` WHERE DATE('2008-04-24') BETWEEN `start` AND `stop`

вроде работает.

   
 
 автор: mechanic   (14.04.2008 в 18:02)   письмо автору
 
   для: ZeeG   (14.04.2008 в 15:57)
 

а кавычки кто ставить будет?
SELECT `perid` FROM `periods` WHERE '2008-04-24' BETWEEN `start` AND `stop` 

   
 
 автор: ZeeG   (14.04.2008 в 15:57)   письмо автору
 
   для: ronin80   (14.04.2008 в 15:25)
 

чето как-то нет

SELECT perid FROM periods WHERE 2008-04-24 BETWEEN start AND stop


в БД тот же формат, что и 2008-04-24.

   
 
 автор: ronin80   (14.04.2008 в 15:25)   письмо автору
 
   для: ZeeG   (14.04.2008 в 15:22)
 

смотря какой формат у проверяемого значения

   
 
 автор: ZeeG   (14.04.2008 в 15:22)   письмо автору
 
   для: ronin80   (14.04.2008 в 15:11)
 

а к какому формату лучше привести? оставить DATE или UNIX_TIMESTAMP? Я уже пробывал такую конструкцию, но чето не вышло.

   
 
 автор: ronin80   (14.04.2008 в 15:11)   письмо автору
 
   для: ZeeG   (14.04.2008 в 14:55)
 

select perid from periods
where data between start and stop

здесь соответственно data проверяемое значение

   
 
 автор: ZeeG   (14.04.2008 в 14:55)   письмо автору
 
   для: ZeeG   (14.04.2008 в 12:50)
 

Как хоть подойти к решению. Подскажите плиз.

   
 
 автор: ZeeG   (14.04.2008 в 12:50)   письмо автору
 
   для: cheops   (14.04.2008 в 12:47)
 

Да, нужно вернуть его id (perid)

CREATE TABLE `periods` (
  `perid` int(11) NOT NULL auto_increment,
  `start` date NOT NULL default '0000-00-00',
  `stop` date NOT NULL default '0000-00-00',
  `hide` tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (`perid`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 PACK_KEYS=0 AUTO_INCREMENT=0 ;

INSERT INTO `periods` VALUES (1, '2008-04-01', '2009-03-31', 0);


Спасибо

   
 
 автор: cheops   (14.04.2008 в 12:47)   письмо автору
 
   для: ZeeG   (14.04.2008 в 12:13)
 

Т.е. границы периодов это DATE-поля? И необходимо вернуть записи в которые входит заданная дата?

   
 
 автор: ZeeG   (14.04.2008 в 12:13)   письмо автору
 
 

Всем привет,
чето не пойму как сделать следущее:
есть несколько периодов:

01.04.2008 - 30.06.2008
01.07.2008 - 31.08.2008
01.09.2008 - 31.10.2008

Не могу понять как найти один из трех по дате, что должно входить в него. К примеру, 15.06.2008 относится к 01.04.2008 - 30.06.2008.
Даты в БД храню в виде DATE 0000-00-00.

Подскажите как сделать выборку корректно.
Спасибо

   

Сообщения:  [1-10] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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