PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 25-09-2010 16:48:23

t14
Membre
Inscription : 10-09-2009
Messages : 96

Changement aspect bouton menu

Bonjour,

J'ai un site qui affiche des bouton pour le menu.
Quand j'affiche une page, je souhaiterais que le bouton du menu correspondant prenne un autre aspect parrapport aux autres boutons.
Si je défini les boutons et les pages en php dans un tableau, ça fonctionne :

<?php
$pages = array(
'accueil'=>'accueil.htm',
'humanitaire'=>'humanitaire.htm',..............);

if(isset($_GET['page']) && array_key_exists($_GET['page'],$pages)){
$inc = $pages[$_GET['page']];
$active = $_GET['page'];
}
else{
$inc = 'accueil.htm';
$active = 'accueil';
}

echo '<div class="menu"><ul>
<a class="bouton'
.($active == 'accueil' ? 'active' : '').'" href="index.php?page=accueil.htm">Accueil</a><p>
<a class="bouton'
.($active == 'humanitaire' ? 'active' : '').'" href="index.php?page=humanitaire">L\'action humanitaire</a><p>...........

echo '<div class="frame">';
include($inc);
echo '
</div>';

Mais si les les boutons et les pages sont issuent d'une base de donnée, j'y arrive pas  sad  :

$select = 'SELECT * FROM menu';  
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );  
   
if(isset($_GET['lien']))
{
 $inc = $_GET['lien'];
 $active = $_GET['nom'];
}
else
{
 $inc = 'accueil.htm';
 $active = 'accueil';
}

echo '<div class="menu">';

  while($row = mysql_fetch_array($result))
{
  echo '<a class="bouton'.($active == $row['nom'] ? 'active' : '').'" href="menu.php?lien='.$row['lien'].'">'.$row['nom'].'</a><p>';
}

echo '</div>';

echo '<div class="frame">';
include($inc);
echo '</div>';

Les liens fonctionnent, mais les boputons menu ne changent pas d'aspect lors de l'affichage de la page qui va avec ! sad

Merci d'avance pour l'aide que vous pourrez m'apporter.

Dernière modification par t14 (25-09-2010 16:51:04)

Hors ligne

#2 25-09-2010 18:14:39

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Changement aspect bouton menu

Saluton,
J'ai toujours trouvé contestable de construire la partie la plus invariante d'une application ou d'une page web à partir d'une base de données.
C'est même, de mon point de vue, un véritable contresens.
Qu'est-ce qui est le plus souvent sollicité dans une page ? Le menu
Qu'est-ce qui change le moins ? Le menu
Donc ,sa reconstruction à chaque sollicitation à partir d'une requête SQL....


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 25-09-2010 18:38:29

t14
Membre
Inscription : 10-09-2009
Messages : 96

Re : Changement aspect bouton menu

Tu n'as pas tout à fait tord, Maljuna Kris !

Mais si je fais ça, ou plutôt si j'essaye, c'est pour rendre le menu gérable par pages interposées. C'est à dire, pouvoir modifier le menu et rajouter des onglets à la demande. Car ce genre de site va obligatoirement évoluer avec les années ! Et je ne serais peut-être pas toujours là pour le maintenir.

Et c'est aussi par curiosité ......

Hors ligne

#4 26-09-2010 10:05:23

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Changement aspect bouton menu

Alors oriente-toi vers des solutions avec cache, ou, plus simple, vers un module qui  supprime  l'include du menu à chaque modification (INSERT, DELETE ou UPDATE) de la table menu.
Si l'include est supprimé tu appelles le script qui le régénère via requête, sinon tu le charges directement.
Tu gardes la souplesse d'évolution sans perdre la performance.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#5 27-09-2010 08:59:10

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : Changement aspect bouton menu

Hum bonne idée ca MK, je vais essayer wink

@+


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

Pied de page des forums