не работает pager_query

Главные вкладки

Аватар пользователя cosmos cosmos 25 февраля 2009 в 19:01

неправильно работает запрос, не подставляется 2е условие
(s.`field_series_age1_value` > %d)
помоему в функции pager_query перезаписывается запрос и теряется это условие.
Убил 2 часа так и не нашел в чем проблемма помогите!

$QUERY ="SELECT * FROM
tbl1 s LEFT JOIN tbl2 pr ON  s.id = pr.id
WHERE pr.id=1 and s.`field_series_age1_value` > %d "
;

$s = db_rewrite_sql($q);
$result = pager_query($s, $psize, 0, $qcnt, 10);

Комментарии

Аватар пользователя Demimurych Demimurych 25 февраля 2009 в 20:13

"cosmos" wrote:
$QUERY ="SELECT * FROM tbl1 s LEFT JOIN tbl2 pr ON s.id = pr.id WHERE pr.id=1 and s.`field_series_age1_value` > %d "; $s = db_rewrite_sql($q); $result = pager_query($s, $psize, 0, $qcnt, 10);

Задайте руками count запрос. и положит его в $qcnt это будет и надежнее и скорее всего быстрее.

Аватар пользователя cosmos cosmos 25 февраля 2009 в 22:43

я так и сделал просто не стал вписывать сюда запрос
корректный проверял
ps
странно почему то после db_rewrite_sql($s, $psize, 0, $qcnt, 10);
запрс все еще выглядит

SELECT * FROM tbl1 s LEFT JOIN tbl2 pr ON s.id = pr.id WHERE pr.id=1 and s.`field_series_age1_value` > %d

те %d не заменена значением переменной = 10

Аватар пользователя cosmos cosmos 25 февраля 2009 в 23:18

блин полная засада
сделал свою форму и блок вывода данных из бд
хотел в зависимоти от post параметров данных
конструировать запросы и выводит с пейджером
таблицу, но pager_query реально мудит (

Аватар пользователя cosmos cosmos 26 февраля 2009 в 0:51

еще прикол
так работает

$arg1='key';
$QUERY ="SELECT * FROM
tbl1 s LEFT JOIN tbl2 pr ON  s.id = pr.id
WHERE pr.id=1 and s.`field_series_age1_value` = '%s' "
;
 
$s = db_rewrite_sql($q,$arg1);
$result = pager_query($s, $psize, 0, $qcnt, $arg1 );

атак нет

$arg1=$_POST['frm_key'];//значение ='key'

да точно нашел баг,

переменные из POST запроса
почему то обрабатываются в запросе некорректно,
в отличии если бы знач перем задавалось явно
в скрипте, может что то с кодировкой не то?

Аватар пользователя cosmos cosmos 26 февраля 2009 в 9:49

Химический Али ну это я состряпал код по быстрому чтоб показать суть щас исправлюсь
по идее с pager_query я разобрался он работает.
Не работает эта вещь

еще прикол
так работает

$arg1='key';
$QUERY ="SELECT * FROM
tbl1 s LEFT JOIN tbl2 pr ON  s.id = pr.id
WHERE pr.id=1 and s.`field_series_age1_value` = '%s' "
;
$QUERYcnt ='не буду описывать он тоже задан и он верный';
 
$s = db_rewrite_sql($QUERY,$arg1);
$result = pager_query($s, $psize, 0, $QUERYcnt, $arg1 );

атак нет

$arg1=$_POST['frm_key'];//значение ='key'

да точно нашел баг,

переменные из POST запроса
почему то обрабатываются в запросе некорректно,
в отличии если бы знач перем задавалось явно
в скрипте, может что то с кодировкой не то?