|
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 |
jocker Smarty n00b
Joined: 19 May 2008 Posts: 1
|
Posted: Mon May 19, 2008 11:00 am Post subject: affichage mysql multilevel - creation d'un menu |
|
|
Bonjour à tous,
j'ai eu pas mal de problème pour trouver une solution afin d'afficher un menu.
L'idée était de récupérér chaque rubrique puis une 2e requete SQL qui récupère tous les textes contenus dans cette rubrique. Voici donc une solution quif onctionne même si je ne sais pas si c'est la meilleure.
Code: |
//on liste les rubriques
$req = $db->query('SELECT id_rubrique, nom FROM '.$db->prefix.'rubriques ORDER BY position') or error('Impossible de récupérer la liste des rubriques', __FILE__, __LINE__, $db->error());
if ($db->num_rows($req) > 0){
$rubriques = array(); $list_text = array();
$i = 0;
while ($rub = $db->fetch_assoc($req)){
$rubriques[++$i] = $rub;
//on liste les textes
$req2 = $db->query('SELECT id_texte, titre, texte FROM '.$db->prefix.'textes WHERE id_rubrique = '.$rub['id_rubrique'].' AND online != 0 ORDER BY id_texte') or error('Erreur', __FILE__, __LINE__, $db->error());
while ($texte = $db->fetch_assoc($req2)){
//$j++;
$list_text[$i][++$j] = $texte;
$list_text[$i][$j]['url'] = BuildURL($texte['titre'], $texte['id_texte']); //fonction d'URL rewriting
}
}
$sm_mnutext->assign('rubriques', $rubriques);
$sm_mnutext->assign('list_text', $list_text);
}
$sm_mnutext->display('mnutextes.tpl'); |
et voici mon template
Code: |
{foreach from=$rubriques key=key item="rub"}
<dt>{$rub.nom}</dt>
{foreach from=$list_text[$key] item="texte"}
<dd><a href="{$texte.url}">{$texte.titre}</a></dd>
{/foreach}
{/foreach}
|
En espérant que ca poura en aider certains et puis si quelqu'un veut l'améliorer ou a une autre solution, c'est avec plaisir que j'attends son 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
|