Jump to content
php.lv forumi

Problēmas ar rekursiju un izvadi


Jackal

Recommended Posts

function show($parent){
  $query = mysql_query("SELECT id, parent, kautkas FROM tabula WHERE parent='$parent' ORDER BY sort ASC");

  if(mysql_num_rows($query) > 0){
	 $out .= ($parent == 0 ? '<ul class="mktree">' : '<ul>');
	 while($row = mysql_fetch_array($query)){
		$out .= '<li>'.$row['kautkas'];
		$this->show($row['id']);
		$out .= '</li>';
	 }
	 $out .= '</ul>';
  }

return $out; 
  }

 

Šis tiek likts temleitā:

$klase->show(0);

 

Problēma ir tāda, ka neizvada pareizi html'u, ja $out .= vietaa lietoju echo, tad viss ir pareizi, bet es nevaru lietot echo, jo izmantoju templeitu sistēmu.

return šaja funkcijā it kā nevar lietot, jo tad nestrādā rekursija, bet lai ar šo $klase->show(0); varētu izvadīt html'u ir vajadzīgs return. Ir kādi risinājumi?

Edited by Jackal
Link to comment
Share on other sites

×
×
  • Create New...