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

Форум MySQL

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

 

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

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

тема: Сложный UPDATE
 
 автор: mehelson   (26.08.2008 в 18:38)   письмо автору
 
 

Сложный во всяком случае для меня...
таблица :
CREATE TABLE IF NOT EXISTS `public_contest` (
  `id` int(11) NOT NULL auto_increment,
  `number_register` text NOT NULL COMMENT 'номер в реестре',
  `name` text NOT NULL COMMENT 'наименование',
  `customer` text NOT NULL COMMENT 'заказчик',
  `max_price` text NOT NULL COMMENT 'максимальная цена',
  `source_finance` text NOT NULL COMMENT 'источник финансирования',
  `putdate` date NOT NULL default '0000-00-00' COMMENT 'дата размещения',
  `start_date` date NOT NULL default '0000-00-00' COMMENT 'дата проведения',
  `status` enum('active','wait','not_active') NOT NULL default 'active' COMMENT 'статус',
  `file` text NOT NULL COMMENT 'файл документации',
  `protocol_1` text NOT NULL COMMENT 'имя протокола 1',
  `putdate_pr_1` date NOT NULL default '0000-00-00' COMMENT 'дата размещения 1 протокола',
  `protocol_2` text NOT NULL COMMENT 'имя протокола 2',
  `putdate_pr_2` date NOT NULL default '0000-00-00' COMMENT 'дата размещения 2 протокола',
  `protocol_3` text NOT NULL COMMENT 'имя протокола 3',
  `putdate_pr_3` date NOT NULL default '0000-00-00' COMMENT 'дата размещения 3 протокола',
  `notice_edit` text NOT NULL COMMENT 'имя извещения о внесении изменений',
  `putdate_no_ed` date NOT NULL default '0000-00-00' COMMENT 'дата размещения извещения об изменении',
  `notice_cancel` text NOT NULL COMMENT 'имя извещения об отмене',
  `putdate_no_ca` date NOT NULL default '0000-00-00' COMMENT 'дата размещения извещения об отмене',
  `file_pr_1` text NOT NULL COMMENT 'файл протокола_1',
  `file_pr_2` text NOT NULL COMMENT 'файл протокола_2',
  `file_pr_3` text NOT NULL COMMENT 'файл протокола_3',
  `file_no_ed` text NOT NULL COMMENT 'файл извещения об изменении',
  `file_no_ca` text NOT NULL COMMENT 'файл об отмене',
  `n_p` enum('0','1','2','3') NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 COMMENT='открытый конкурс' AUTO_INCREMENT=1 ;


немного неказисто, но...
еще в поиске...

при добавлении протокола (1,2 или 3), если отмечен чекбокс 'завершение'
статус меняем на 'wait', при этом замечаем (поле 'n_p') после какого протокола это произошло(может быть после любого из трех)

не могу составить правильный(е) запрос(ы) для изменения статуса в тех строках, в которых status='wait' и n_p > 0, по прошествии 15 дней (время размещения протокола - putdate_pr_...),
что-то такое:
"SELECT id, n_p FROM public_contest WHERE status='wait' AND n_p > '0'"

и получив результат:
"UPDATE public_contest SET `status`='not_active' WHERE putdate_pr_".$n_p." <= NOW() - INTERVAL 15 DAY"

вижу - галиматья, но чета не выходит у меня каменный цветок...

подскажите... как ?
Спасибо !

  Ответить  
 
 автор: Trianon   (26.08.2008 в 19:14)   письмо автору
 
   для: mehelson   (26.08.2008 в 18:38)
 

а что не идет-то?

  Ответить  
 
 автор: mehelson   (26.08.2008 в 19:26)   письмо автору
 
   для: Trianon   (26.08.2008 в 19:14)
 

:) изменяет статус во всех строках, независимо от даты

  Ответить  
 
 автор: Trianon   (26.08.2008 в 19:47)   письмо автору
 
   для: mehelson   (26.08.2008 в 19:26)
 

может, не во всех, а только в тех, где соответствующее поле еще не заполнено?

  Ответить  
 
 автор: mehelson   (26.08.2008 в 20:51)   письмо автору
 
   для: Trianon   (26.08.2008 в 19:47)
 

Да, действительно.
добавил id
...WHERE id='".$id."' AND...

Cпасибо !

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

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