|
|
|
| Здраствуйте.
есть функция которая формирует вывод каталога из 2х баз и передает их в шаблон,
точнее загоняет все в массив, а потом массив передается в шаблон.
<?
function displ_all_catalog ($id,$title,$nom,$catalog)
{
$query = mysql_query("SELECT * FROM group WHERE code = '$id'");
$catalog=array();
if (mysql_num_rows($query) > 0)
{
$i = 0;
while($fetch = mysql_fetch_array($query))
{
if ($fetch['activ']==="1")
{
$catalog[]=array("<a href=catalog.php?action=group&gr=".$fetch['id'].">".str_repeat(">",$nom).$fetch['title']."</a><br>");
$i++;
displ_all_catalog ($fetch['id'],$title."",$nom+1,$catalog);
}
}
}
else
{
$query = mysql_query("SELECT * FROM catalog WHERE id_gr = ".$id."");
while ($fetch = mysql_fetch_array($query))
{
$catalog[]=array("<a href=catalog.php?action=item&nom=".$fetch['id'].">".str_repeat(".",$level+1).$fetch["title"]." | ".$fetch["model"]." | ".$fetch["price"]." | ".$fetch["val"]."</a><br>");
}
}
return ($catalog);
}
?>
|
функция загоняет в массив данные по группам, иненно по группе к которой обратились и выводит все подргуппы в группе и все товары в этой группе.
нужно развернуть весь каталог, либо при обращении к группе развернуть все подгруппы в ней и все товары в самой группе и подгруппах,
вложенность не ограничена.
если простовыводить таким способом :
<?
function displ_all_catalog ($id,$title,$nom)
{
$query = mysql_query("SELECT * FROM group WHERE code = '$id'");
if (mysql_num_rows($query) > 0)
{
$i = 0;
while($fetch = mysql_fetch_array($query))
{
if ($fetch['activ']==="1")
{
echo "<a href=catalog.php?action=group&gr=".$fetch['id'].">".str_repeat(">",$nom).$fetch['title']."</a><br>";
$i++;
displ_all_catalog ($fetch['id'],$title."",$nom+1);
}
}
}
else
{
$query = mysql_query("SELECT * FROM catalog WHERE id_gr = ".$id."");
while ($fetch = mysql_fetch_array($query))
{
echo "<a href=catalog.php?action=item&nom=".$fetch['id'].">".str_repeat(".",$level+1).$fetch["title"]." | ".$fetch["model"]." | ".$fetch["price"]." | ".$fetch["val"]."</a><br>";
}
}
}
?>
|
то все разворачивается, но возникает проблема передачи в шаблон.
помогите плис, а то сам уже весь моск свернул.
Заранее благодарен. | |
|
|
|
|
|
|
|
для: aibolit
(15.07.2008 в 00:16)
| | странно, что у Вас рекурсивный вызов не добавляет результат в массив:
$catalog[]=displ_all_catalog ($fetch['id'],$title."",$nom+1,$catalog);
|
| |
|
|
|