задача доп.действия - сделать статус заявки "ЗАВЕРШЕНА"
Fatal error: Unknown column 'Завершено' in 'where clause'
SELECT count(*) as cnt_rec FROM f5_data85 WHERE status=Завершено AND f994 = '1'
in /home/s/smartmedia/public_html/md5/view_line.php on line 723
сам код вот:
$data = data_table("Общая", "id={ID}");
if($data['Статус'] == 'Размещена'){
//Код устанавливающий статус "Завершено"
$new_status['Статус']='Завершено';
update_query($new_status,"Общая", "id={ID}");
//Конец кода устанавливающего статус "Завершено"
//Дальше код из вычислений
// Сюда надо дописать координаторов, пример '-47-52-'
$coordinators = '-47-48-';
/* Список статусов
Возврат
Размещена
Завершено
Закрыта
Проверяется
*/
//Синхронизация статусов заказа общей таблицы и таблицы направления, откуда пришел заказ.
$data = data_table("Общая", "id={ID}");
$action = array();
$action['Дата'] = date("Y-m-d H:i:s");
$action['Кто изменил'] =$user['id'];
$action['id_заказа'] = "{ID}";
$action['Статус'] = $data['Статус'];
$action['Примечания менеджера'] = $data['Примечания менеджера'];
$action['Примечания трафика'] = $data['Примечания трафика'];
insert_query($action, "Ист. заказов");
$status = trim($data['Статус']);
if(in_array($status, array('Размещена','Возврат','Черновик','Завершено','Закрыта')))
{
$new_data['координаторы'] = '';
update_query($new_data,"Общая", "id={ID}");
}
else if(in_array($status, array('Проверяется')))
{
$new_data['координаторы'] = $coordinators;
update_query($new_data,"Общая", "id={ID}");
}
$vid = trim(strtok($data['Вид'], "\n"));
switch($vid) {
case 'Одноклассники':
$zakaz_table_name = 'Одноклассники';
break;
case 'Яндекс Директ,':
case 'Google,':
case 'Вконтакте,':
$zakaz_table_name = 'Объявления (яндекс, гугл, вконтакте)';
break;
case 'Мэйл':
$zakaz_table_name = 'Мэйл';
break;
case 'Маяк':
$zakaz_table_name = 'Маяк';
break;
case 'ДР':
$zakaz_table_name = 'ДР';
break;
case 'Изг. роликов':
$zakaz_table_name = 'Изг. Роликов';
break;
case 'Изг. баннеров':
$zakaz_table_name = 'Изг. Баннеров';
break;
case 'Вконтакте':
$zakaz_table_name = 'ВКонтакте';
break;
case 'Яндекс':
$zakaz_table_name = 'Яндекс';
break;
case 'Яндекс МКБ':
$zakaz_table_name = 'Яндекс МКБ';
break;
}
$update_zakaz['Примечания трафика'] = $data['Примечания трафика'];
$update_zakaz['Статус'] = $status;
if(in_array($status, array('Возврат')))
{
$update_zakaz['Кто добавил'] = $data['Менеджер'];
$update_zakaz['Дата размещения'] = '0000-00-00 00:00:00';
}
else
{
$update_zakaz['Кто добавил'] = 1;
}
update_query($update_zakaz, $zakaz_table_name, "`id_заказа`='".$data["id_заказа"]."'");
}
1
сделал кнопку с доп.действием - а она выдает ошибку
Автор tel, 25 апр. 2011 15:55
Сообщений в теме: 3
#1
Отправлено 25 Апрель 2011 - 15:55
#2
Отправлено 25 Апрель 2011 - 16:11
Приведенная ошибка к выложенному коду явно никакого отношения не имеет. Ищите в каком месте Вы писали код запроса "SELECT count(*) as cnt_rec FROM f5_data85 WHERE status=Завершено AND f994 = '1'" с непонятно зачем присвоением служебному полю status строкового значения "Завершено", причем - без кавычек, что собственно и вызвало ошибку.
#3
Отправлено 25 Апрель 2011 - 20:04
Здравствуйте.
В запросе из-за которого происходит ошибка полю присваивается псевдоним - cnt_rec, это псевдоним используется в служебном файле программы: templates\view_line.tpl. Думаю это говорит о том что ошибка происходит при выполнении кода Клиентской базы. Также в пользу этой версии то, что ошибка возникает именно после исполнения приведенного выше кода. Пробовал вставить в конец скрипта выход exit. До него ошибок нет.
Подскажите, пожалуйста, в чем может быть проблема.
Еще в таблице "Общая" есть поле с именем "Статус", в коде идет присвоение этому полю. Может это как-то отразится на служебном поле status?
В запросе из-за которого происходит ошибка полю присваивается псевдоним - cnt_rec, это псевдоним используется в служебном файле программы: templates\view_line.tpl. Думаю это говорит о том что ошибка происходит при выполнении кода Клиентской базы. Также в пользу этой версии то, что ошибка возникает именно после исполнения приведенного выше кода. Пробовал вставить в конец скрипта выход exit. До него ошибок нет.
Подскажите, пожалуйста, в чем может быть проблема.
Еще в таблице "Общая" есть поле с именем "Статус", в коде идет присвоение этому полю. Может это как-то отразится на служебном поле status?
$data = data_table("Общая", "id={ID}"); if($data['Статус'] == 'Размещена')// Ошибка происходит если выполняется это условие { //Код устанавливающий статус "Завершено" $new_status['Статус']='Завершено'; update_query($new_status,"Общая", "id={ID}"); $data['Статус']='Завершено'; //Конец кода устанавливающего статус "Завершено" //Дальше код из вычислений // Сюда надо дописать координаторов, пример '-47-52-' $coordinators = '-47-48-'; /* Список статусов Возврат Размещена Завершено Закрыта Проверяется */ //Синхронизация статусов заказа общей таблицы и таблицы направления, откуда пришел заказ. $data = data_table("Общая", "id={ID}"); $action = array(); $action['Дата'] = date("Y-m-d H:i:s"); $action['Кто изменил'] =$user['id']; $action['id_заказа'] = "{ID}"; $action['Статус'] = $data['Статус']; $action['Примечания менеджера'] = $data['Примечания менеджера']; $action['Примечания трафика'] = $data['Примечания трафика']; insert_query($action, "Ист. заказов"); $status = trim($data['Статус']); if(in_array($status, array('Размещена','Возврат','Черновик','Завершено','Закрыта'))) { $new_data['координаторы'] = ''; update_query($new_data,"Общая", "id={ID}"); } else if(in_array($status, array('Проверяется'))) { $new_data['координаторы'] = $coordinators; update_query($new_data,"Общая", "id={ID}"); } $vid = trim(strtok($data['Вид'], "\n")); switch($vid) { case 'Одноклассники': $zakaz_table_name = 'Одноклассники'; break; case 'Яндекс Директ,': case 'Google,': case 'Вконтакте,': $zakaz_table_name = 'Объявления (яндекс, гугл, вконтакте)'; break; case 'Мэйл': $zakaz_table_name = 'Мэйл'; break; case 'Маяк': $zakaz_table_name = 'Маяк'; break; case 'ДР': $zakaz_table_name = 'ДР'; break; case 'Изг. роликов': $zakaz_table_name = 'Изг. Роликов'; break; case 'Изг. баннеров': $zakaz_table_name = 'Изг. Баннеров'; break; case 'Вконтакте': $zakaz_table_name = 'ВКонтакте'; break; case 'Яндекс': $zakaz_table_name = 'Яндекс'; break; case 'Яндекс МКБ': $zakaz_table_name = 'Яндекс МКБ'; break; } $update_zakaz['Примечания трафика'] = $data['Примечания трафика']; $update_zakaz['Статус'] = $status; if(in_array($status, array('Возврат'))) { $update_zakaz['Кто добавил'] = $data['Менеджер']; $update_zakaz['Дата размещения'] = '0000-00-00 00:00:00'; } else { $update_zakaz['Кто добавил'] = 1; } if($zakaz_table_name) update_query($update_zakaz, $zakaz_table_name, "`id_заказа`='".$data["id_заказа"]."'"); }
#4
Отправлено 26 Апрель 2011 - 09:10
ildar_sh (25.4.2011, 21:04) писал:
Здравствуйте.
В запросе из-за которого происходит ошибка полю присваивается псевдоним - cnt_rec, это псевдоним используется в служебном файле программы: templates\view_line.tpl. Думаю это говорит о том что ошибка происходит при выполнении кода Клиентской базы. Также в пользу этой версии то, что ошибка возникает именно после исполнения приведенного выше кода. Пробовал вставить в конец скрипта выход exit. До него ошибок нет.
Подскажите, пожалуйста, в чем может быть проблема.
В запросе из-за которого происходит ошибка полю присваивается псевдоним - cnt_rec, это псевдоним используется в служебном файле программы: templates\view_line.tpl. Думаю это говорит о том что ошибка происходит при выполнении кода Клиентской базы. Также в пользу этой версии то, что ошибка возникает именно после исполнения приведенного выше кода. Пробовал вставить в конец скрипта выход exit. До него ошибок нет.
Подскажите, пожалуйста, в чем может быть проблема.
Вполне возможно что запрос действительно принадлежит коду движка, а не вашему вычислению, но тем не менее причина ошибки скорее всего на вашей стороне. Возможно причина в неверно настроенном фильтре. Короче говоря от Вас нужен номер строки ошибки на последней ревизии.
ildar_sh (25.4.2011, 21:04) писал:
Еще в таблице "Общая" есть поле с именем "Статус", в коде идет присвоение этому полю. Может это как-то отразится на служебном поле status?
Количество пользователей, читающих эту тему: 2
0 пользователей, 2 гостей, 0 анонимных