Aspect bouton menu selon différentes sources

Aspect bouton menu selon différentes sources - PHP - Programmation

Marsh Posté le 13-10-2010 à 18:39:08    

Bonjour,
 
Suite à une évolution que je veux porter à mon site, j'ai un petit problème avec le menu.
Voici ce qui est actuellement, et qui fonctionne, ma page index est :
 

Code :
  1. $pages = array(
  2. 'accueil'=>'accueil.htm',
  3. 'humanitaire'=>'humanitaire.htm', ...........
  4. );
  5. if(isset($_GET['page']) && array_key_exists($_GET['page'],$pages))
  6. {
  7. $inc = $pages[$_GET['page']];
  8. $active = $_GET['page'];
  9. }
  10. else
  11. {
  12. $inc = 'accueil.htm';
  13. $active = 'accueil';
  14. }
  15. echo '<div class="menu"><ul>
  16. <a class="bouton'.($active == 'accueil' ? 'active' : '').'" href="index.php?page=accueil.htm">Accueil</a><p>
  17. <a class="bouton'.($active == 'humanitaire' ? 'active' : '').'" ...............
  18. echo '</div>';
  19. echo '<div class="frame">';
  20. include($inc);
  21. echo '</div>';


 
Donc là, j'affiche un menu, dont les boutons prennent l'aspect "class=bouton" quand on clique dessus.
 
L'évolution est que maintenant, j'affiche aussi des éléments du menu issus d'une base de donnée :
 

Code :
  1. $select = 'SELECT * FROM menu';
  2. $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
  3. $pages = array(
  4. 'accueil'=>'accueil.htm',
  5. '$row[nom]'=>'$row[texte]',
  6. 'humanitaire'=>'humanitaire.htm', .........
  7. );
  8. if(isset($_GET['page']) && array_key_exists($_GET['page'],$pages))
  9. {
  10. $inc = $pages[$_GET['page']];
  11. $active = $_GET['page'];
  12. }
  13. else
  14. {
  15. $inc = 'accueil.htm';
  16. $active = 'accueil';
  17. }
  18. echo '<div class="menu"><ul>
  19. <a class="bouton'.($active == 'accueil' ? 'active' : '').'" href="index.php?page=accueil.htm">Accueil</a><p>
  20. <a class="bouton'.($active == 'humanitaire' ? 'active' : '').'" href="index.php?page=humanitaire.htm">Humanitaire</a><p>';
  21. while ($row = mysql_fetch_array($result))
  22. {
  23. echo '<a class="bouton'.($active == $row['nom'] ? 'active' : '').'" href="index.php?nom='.$row['nom'].' & texte='.$row['texte'].'">'.$row['nom'].'</a><p>';
  24. }
  25. echo '<a class="bouton'.($active == 'presentation' ? 'active' : '').'" ...............
  26. echo '</div>';
  27. echo '<div class="frame">';
  28. if(isset($_GET['texte']))
  29. {
  30. echo $_GET['texte'];
  31. }
  32. else
  33. {
  34. include($inc);
  35. }
  36. echo '</div>';


 
Mais dans ce dernier cas, si je clique sur un élément du menu issu de la base de donnée, je n'arrive pas à ce que le bouton prenne l'aspect "class=bouton".  :(  
 
Merci d'avance pour votre aide.  

Reply

Marsh Posté le 13-10-2010 à 18:39:08   

Reply

Marsh Posté le 27-10-2010 à 14:10:56    

Yaurait pas un souci la :  
 

Code :
  1. while ($row = mysql_fetch_array($result))
  2. {
  3. echo '<a class="bouton'.($active == $row['nom'] ? 'active' : '').'" href="index.php?nom='.$row['nom'].' & texte='.$row['texte'].'">'.$row['nom'].'</a><p>';
  4. }
  5. echo '<a class="bouton'.($active == 'presentation' ? 'active' : '').'" ...............
  6. echo '</div>';


 
T'as pas mis d'espace entre bouton et active dans ton attribut classe, du coup, la classe n'est pas bouton mais boutonactive, ça ne viendrait pas de là ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed