Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Не могу проверить результат запроса listQuery()

19.09.2006, 17:11
Гость
Гость

Здравствуйте.
Не могу проверить через ф-цию opt() результат запроса listQuery().
Пример шаблона данных который не работает - уловие $data[Qty]!=0 не отробатывает:
Код:

".listQuery("SELECT Name,Qty FROM Message".$f_ClassID." WHERE Message_ID=$f_ItemID","
$data[Name]<br>
$data[Qty]<br>
".opt($data[Qty]!=0,"Значение больше нуля!")."
<hr>
")."
21.09.2006, 18:55
Кирилл Хряпин
NetCat

Зарегистрирован:
2006-06-15
Сообщений: 207

Вы не можете обратиться к массиву $data таким образом, он существует только в момент выполнения функции listQuery.

В вашем случае нужно делать примерно так:

Код:
" . opt(
$qty = listQuery("SELECT Qty FROM Message$f_ClassID WHERE Message_ID=$f_ItemID", '$data[Qty]'), '') .
opt($qty > 0, 'Значение больше нуля!') . "
21.09.2006, 19:03
Гость
Гость

Спасибо. А можно весь массив передать в переменную?
22.09.2006, 10:38
Гость
Гость

Гость писал(а):
Думаю не в этом проблема, тк пробовал.

Значит, неправильно пробовали, т.к. проблема именно в этом.
22.09.2006, 15:46
Гость
Гость

Да, спасибо, это где-то я накосячил - все работает с экранированием кавычек. Скажите, а если вложенность будет такой:
listQuery->opt1->opt2
У opt2 тоже нужно просто закомментировать кавычки и $ или там как-то хитро нужно?
20.09.2006, 16:39
Гость
Гость

Думаю не в этом проблема, тк пробовал.
К примеру если вместо $data[Qty] задать явное условие как в примере, то проверка opt() проходит. Отсюда предположение что я не так обращаюсь к результирующему массиву запроса $data
Код:

".listQuery("SELECT Name,Qty FROM Message".$f_ClassID." WHERE Message_ID=$f_ItemID","
$data[Name]<br>
$data[Qty]<br>
".opt(1!=0,"Значение больше нуля!")."
<hr>
")."
19.09.2006, 18:52
Гость
Гость

кавычки внутри второго параметра функции listQuery() необходимо экранировать
198 196 2006-09-19 18:52:05 8739
Описание проекта