|
Smarty
WARNING: All discussion is moving to https://reddit.com/r/smarty, please go there! This forum will be closing soon. |
|
View previous topic :: View next topic |
Author |
Message |
gnovaro Smarty n00b
Joined: 26 May 2007 Posts: 1 Location: Buenos Aires
|
Posted: Sat May 26, 2007 7:18 pm Post subject: Recorrer resultados varias consultas recursivas con SMARTY ! |
|
|
Hola les, comento q tengo el siguiente problema. Desde php generaba un menu que mientras recorria la consulta del mismo iba verificando y generando un nivel mas o sub menu y la verdad no se me ocurre como solucionarlo
Code: |
<table>
<tr>
<td colspan="3">
<!-- Menu -->
<?php
$sSQL = "SELECT * FROM `menu` WHERE menustate=1";
$rsMenu = query($sSQL);
if ($rsMenu != NULL)
while($rowMenu = fetchNext($rsMenu)){
//has child show >>
if($rowMenu["child"] == 1){
?>
<table>
<tr>
<td>
<a href="<?=$rowMenu["menu_page"];?>><?=$rowMenu["menu_name"];?></a>
</td>
</tr>
</table>
<?php
$sSQL = "SELECT * FROM `menu2` WHERE menu2state=1 AND idmenu=".$rowMenu["idmenu"];
$rsMenu2 = query($sSQL);
if ($rsMenu2 != NULL)
while($rowMenu2 = fetchNext($rsMenu2)){
?>
<table>
<td >
<a href="<?=$rowMenu2["menu2page"];?"> clas<?=$rowMenu2["menu2name"];?></a>
</td>
</tr>
</table>
<?php
}//while
}else{
?>
<table>
<tr>
<td><a href="<?=$rowMenu["menu_page"];?>"><?=$rowMenu["menuname"];?></a></td>
</tr>
</table>
<?php
}//if
?>
|
Desde ya muchas gracias por su tiempo |
|
Back to top |
|
mrtinez Smarty Rookie
Joined: 31 Jan 2005 Posts: 26 Location: Mexico
|
Posted: Mon May 28, 2007 2:20 pm Post subject: Re: Recorrer resultados varias consultas recursivas con SMAR |
|
|
Hola Gnovaro, te voy a dar un ejemplo de lo que entendi que quieres hacer.
lees el primer enunciado sql, de donde sacas el menu y su descripcion y los dejas un un arreglo
$menu[$i];
$d_menu[$i];
segun entendi con este id buscas los submenus del siguiente sql.
entonces haces el sql para sacar los submenus y los dejas en otros arreglos.
$menu2[$i][$j];
$d_menu2[$i][$j];
de esta manera ya tienes el menu y los submenus que corresponden a cada menu. por ejemplo:
menu::::
$menu[0];
$d_menu[0];
submenu::::
$menu2[0][0];
$d_menu2[0][0];
$menu2[0][1];
$d_menu[0][1];
....
simepre y cuando existan submenus, si no pues no se agregara a ese menu.
bueno despues los madas a smarty...
$sm->assign(array("menu"=>$menu, "d_menu"=>$d_menu,
"menu2"=>$menu2,"d_menu2"=>$d_menu2,
));
ya en el template de smarty haces lo siguiente..
un section para leer el menu principal.
<table>
{section name=reng loop=$menu}
// aqui es donde pintas tu menu
<tr><td>
<a href="{$menu[reng]}">{$d_menu[reng]}</a>
// y despues un section anidado para sacar los submenus
{section name=subreng loop=$menu2[reng]}
<tr><td>
<a href="{$menu2[reng][subreng]}">{$d_menu2[reng][subreng]}</a>
{section}
{/section}
</table>
es un ejemplo sencillo sin probar, que ojala te de la idea de como lo debes montar en el smarty con lo que mostraste en el post.
saludos.
[/code] |
|
Back to top |
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|