seyvapul
Messages postés39Date d'inscriptionvendredi 15 juillet 2005StatutMembreDernière intervention 4 juin 2017
-
29 nov. 2016 à 17:40
nagaD.scar
Messages postés4272Date d'inscriptionsamedi 8 septembre 2007StatutMembreDernière intervention 4 janvier 2023
-
30 nov. 2016 à 15:35
Bonjour,
voici mon code :
<nav> <div id="menu0"> </div> <div id="menu1"> <ul> <?php $val = $link->query('SELECT TITRE FROM bdm_menus where ORDRE = 1'); while ($donnees = $val->fetch()) { echo $donnees['TITRE']; } $val->closeCursor(); ?> <?php $val = $link->query('SELECT TITRE FROM bdm_sous_menu where MENU = 1 ORDER BY VAL'); while ($donnees = $val->fetch()) { echo '<li>'.$donnees['TITRE'].'</li>'; } $val->closeCursor(); ?> </ul> </div> <div id="menu2"> <ul> <?php $val = $link->query('SELECT TITRE FROM bdm_menus where ORDRE = 2'); while ($donnees = $val->fetch()) { echo $donnees['TITRE']; } $val->closeCursor(); ?> <?php $val = $link->query('SELECT TITRE FROM bdm_sous_menu where MENU = 2 ORDER BY VAL'); while ($donnees = $val->fetch()) { echo '<li>'.$donnees['TITRE'].'</li>'; } $val->closeCursor(); ?> </ul> </div> <div id="menu3"> <ul> <?php $val = $link->query('SELECT TITRE FROM bdm_menus where ORDRE = 3'); while ($donnees = $val->fetch()) { echo $donnees['TITRE']; } $val->closeCursor(); ?> <?php $val = $link->query('SELECT TITRE FROM bdm_sous_menu where MENU = 3 ORDER BY VAL'); while ($donnees = $val->fetch()) { echo '<li>'.$donnees['TITRE'].'</li>'; } $val->closeCursor(); ?> </ul> </div> <div id="menu4"> <ul> <?php $val = $link->query('SELECT TITRE FROM bdm_menus where ORDRE = 4'); while ($donnees = $val->fetch()) { echo $donnees['TITRE']; } $val->closeCursor(); ?> <?php $val = $link->query('SELECT TITRE FROM bdm_sous_menu where MENU = 4 ORDER BY VAL'); while ($donnees = $val->fetch()) { echo '<li>'.$donnees['TITRE'].'</li>'; } $val->closeCursor(); ?> </ul> </div> <div id="menu5"> <ul> <?php $val = $link->query('SELECT TITRE FROM bdm_menus where ORDRE = 5'); while ($donnees = $val->fetch()) { echo $donnees['TITRE']; } $val->closeCursor(); ?> <?php $val = $link->query('SELECT TITRE FROM bdm_sous_menu where MENU = 5 ORDER BY VAL'); while ($donnees = $val->fetch()) { echo '<li>'.$donnees['TITRE'].'</li>'; } $val->closeCursor(); ?> </ul> </div> <div id="menu6"> </div> </nav>
je répète 5 fois la même choses et je n'arrive pas à l'écrire de manière plus courte, ou compacte. Bref si quelqu'un pouvait me donner un coup de main ce ne serait pas de refus.
Le point positif, est qu'il fonctionne.
je voulais passer par une requête préparée du genre :
$val = $link->prepare('SELECT TITRE FROM bdm_menus where ORDRE = ?
mais je n'arrive pas à la mettre en oeuvre pour que cela m'affiche mes champs TITRE.
Merci d'avance pour votre aide.
Oui, effectivement, avec une boucle je réduit le code, mais je ne trouve pas cela "élégant".
<nav> <div id="menu0"> </div> <?php for ($i=1; $i<6; $i++) {?> <div id="menu<?=$i?>"> <ul> <?php $val = $link->query('SELECT TITRE FROM bdm_menus where ORDRE = '.$i); while ($donnees = $val->fetch()) { echo $donnees['TITRE']; } $val = $link->query('SELECT TITRE FROM bdm_sous_menu where MENU = '.$i.' ORDER BY VAL'); while ($donnees = $val->fetch()) { echo '<li>'.$donnees['TITRE'].'</li>'; } $val->closeCursor(); ?> </ul> </div> <?php }?>
Modifié par seyvapul le 29/11/2016 à 18:54
Modifié par nagaD.scar le 30/11/2016 à 15:36
Si la mise en forme ne plait pas à cause du mix html/php tu peux tenter:
Naga