| Sam Dark |
26.06.2005 01:36 |
PHP, Smarty. Построить и отобразить дерево.
Про деревья тему нашел. Написал вот такую штуку:
PHP код:
<?php
function DisplayChildren($id, $indent)
{
require_once('f_db.php');
$result=db_query('SELECT cat_id, cat_name
FROM categories
WHERE cat_parent_id ='.$id.
' ORDER BY cat_name');
$cnt=0;
while ($row = mysql_fetch_assoc($result))
{
$cnt = $cnt+1;
$cat[] = array('id' => $row['cat_id'],
'name' => $row['cat_name']);
}
if ($cnt > 0)
{
foreach($cat as $val)
{
for($i=0; $i<$indent; $i++)
{
print(' ');
}
print($val['name'].'<br>');
DisplayChildren($val['id'], $indent+1);
}
}
}
?>
т.к. активно использую Smarty надо как-то передать ему всё это дело и отобразить. Сколько не пытался - рекурсия затирает всё, что я пытаюсь отдать.
Как лучше сделать?
|