Перейти к содержимому


Формирования массива для поиска


В теме одно сообщение

#1 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 06 Август 2013 - 13:52

Был отчет, который работал в 195. Перешли на 197. Перестал работать поиск.

ссылка в отчете
http://tmp.clientbas....08.2013&type=d



Array
(
    [0] => Array
	    (
		    [field] => 1157
		    [term] => period
		    [value_field] => 15.07.2013
		    [value_field2] => 11.08.2013
		    [union] =>  and
	    )
    [1] => Array
	    (
		    [field] => 438
		    [term] => =
		    [value_field] => 10
		    [union] =>
	    )
)

  $_SESSION[$ses_id]['search'][42][0]['field'] = 1157;
  $_SESSION[$ses_id]['search'][42][0]['term'] = "period";
  $_SESSION[$ses_id]['search'][42][0]['value_field'] = form_local_time($_REQUEST['date1']);
  $_SESSION[$ses_id]['search'][42][0]['value_field2'] = form_local_time($_REQUEST['date2']);
  $_SESSION[$ses_id]['search'][42][0]['union'] = " and ";

  $_SESSION[$ses_id]['search'][42][1]['field'] = 438;
  $_SESSION[$ses_id]['search'][42][1]['term'] = "=";
  $_SESSION[$ses_id]['search'][42][1]['value_field'] =  $_GET['manager'];
  $_SESSION[$ses_id]['search'][42][1]['union'] = "";
 
  header("Location: ".$config["site_root"]."/fields.php?table=42&filter=48");

В итоге по нажатию на ссылку получаю:

SQL error in
SELECT count(*) as total_rec FROM f5_data42 WHERE status=0 and ((left(f1157,10)>='0000-00-00' and left(f1157,10)<='9999-99-99') and abs(f438)=''f2445'')
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'f2445'')' at line 1
In function:
/home/s/smartmedia/nmd.webtm.ru/public_html/fields.php(951) : sql_query()

Если оставляю только это:
  $_SESSION[$ses_id]['search'][42][1]['field'] = 438;
  $_SESSION[$ses_id]['search'][42][1]['term'] = "=";
  $_SESSION[$ses_id]['search'][42][1]['value_field'] =  $_GET['manager'];
  $_SESSION[$ses_id]['search'][42][1]['union'] = "";
  header("Location: ".$config["site_root"]."/fields.php?table=42&filter=48");
Поиск отрабатывает, однако пишет, что поле менеджер = "", поле типа пользователь, айди пользователя передается.

Что изменилось в 197?

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 06 Август 2013 - 14:11

Изменилась структура поиска, которую вы задаете в отчете. Используйте функцию set_filter, примеры можете посмотреть на demo.clientbase.ru в стандартных отчетах.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных