Рекурсивная ф-ция: не могу сделать return

  • Автор темы dadesign
  • Дата начала

dadesign

Guest
Рекурсивная ф-ция: не могу сделать return

Накатал такого монстра, странно, но работает:

PHP:
function patternid($id){
	   $q = "select * from category where id=$id";
	   $res = mysql_query($q) or die("query failed: ".mysql_error());

	  while($row = mysql_fetch_array($res)) {
	  
			$qq = "select * from patterns where category_id=".$row['parent_id'];
			$resq = mysql_query($qq) or die("query failed: ".mysql_error());
			$rowq = mysql_fetch_array($resq);
			if (@$rowq['category_id']) {
			echo $rowq['category_id'];	
			}
			else patternid($row['parent_id']); 
			
			}
	}
	

patternid($id);

но мне нкжно не echo $rowq['category_id']; , а return $rowq['category_id'];

- как сделать... не могу понять :)


Суть ф-ции: пробежатся от id наверх по иерархии дерева каталогов и остановится в том месте, где rowq['category_id'] чему-то равен (шаблоны при построении товарного каталога)
 

dadesign

Guest
Спасибо большое!!!! Вы мне очень помогли :)
 
Сверху