|
|
|
| Здравствуйте.
Подскажите почему следующий код функции не работает должным образом:
function get_Brand($cid)
{
global $pref;
$q = mysql_query("select parent, name, isbrand from ".$pref."categories where categoryid='$cid' AND parent!='1'") or die (mysql_error());
while ($row = mysql_fetch_array($q))
{
if($row[2]==1){
echo "return=$row[1]";
return $row[1];
}
get_Brand($row[0]);
}
}
|
- функция выводит "return=brand1...return=brand5", но возвращает пустое значение. | |
|
|
|
|
|
|
|
для: Hamilion
(15.05.2008 в 11:48)
| | Вообще странно что она у вас выводит "return=brand1...return=brand5", после первого же удовлетвряещего условию значения она должна его возвращать. Что вообще она должна у вас делать? | |
|
|
|
|
|
|
|
для: Valick
(15.05.2008 в 12:30)
| | по идее функция ищет предка, у которого isbrand=1
да - и немного неправильно написал - выводит он конечно по одной записи brand1 и тд, но для каждого случая (переданного параметра $cid) свой. Подозреваю все дело в рекурсиях - не умею я с ними работать, поэтомы решил проблему через глобальную переменную, что конечно не то что хотелось | |
|
|
|
|
|
|
|
для: Hamilion
(15.05.2008 в 18:07)
| | Ни сам запрос, ни его обработка в php - не ясны.
Опишите, как предки связаны с потомками, и что за элемент Вы ищете.
Может это наведет на какие-то мысли...
PS. 95% на то, что никакая рекурсия Вам нафиг не нужна. | |
|
|
|
|
|
|
|
для: Hamilion
(15.05.2008 в 11:48)
| | Вызов функции в этой же функции(типа рекурсии) в данном случае бред. | |
|
|
|