|
|
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() необходимо экранировать
|