|
|
|
| Сложный во всяком случае для меня...
таблица :
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"
|
вижу - галиматья, но чета не выходит у меня каменный цветок...
подскажите... как ?
Спасибо ! | |
|
|
|
|
|
|
|
для: mehelson
(26.08.2008 в 18:38)
| | а что не идет-то? | |
|
|
|
|
|
|
|
для: Trianon
(26.08.2008 в 19:14)
| | :) изменяет статус во всех строках, независимо от даты | |
|
|
|
|
|
|
|
для: mehelson
(26.08.2008 в 19:26)
| | может, не во всех, а только в тех, где соответствующее поле еще не заполнено? | |
|
|
|
|
|
|
|
для: Trianon
(26.08.2008 в 19:47)
| | Да, действительно.
добавил id
...WHERE id='".$id."' AND...
|
Cпасибо ! | |
|
|
|