Rendre actif un onglet menu
Résolu/Fermé
t671
Messages postés
1470
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
12 février 2025
-
Modifié par t671 le 19/10/2010 à 10:54
t671 Messages postés 1470 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 12 février 2025 - 23 oct. 2010 à 10:47
t671 Messages postés 1470 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 12 février 2025 - 23 oct. 2010 à 10:47
A voir également:
- Rendre actif un onglet menu
- Rouvrir un onglet fermé - Guide
- Menu déroulant excel - Guide
- Comment rendre un fichier moins lourd - Guide
- Windows 11 menu démarrer classique - Guide
- Menu caché tv continental edison ✓ - Forum Téléviseurs
16 réponses
avion-f16
Messages postés
19252
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 février 2025
4 505
19 oct. 2010 à 17:53
19 oct. 2010 à 17:53
Salut.
Il suffit de vérifier si le lien qui provient de la bdd correspond à celui de la page actuelle. Si oui, alors tu ajoutes une classe CSS.
Il suffit de vérifier si le lien qui provient de la bdd correspond à celui de la page actuelle. Si oui, alors tu ajoutes une classe CSS.
t671
Messages postés
1470
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
12 février 2025
11
20 oct. 2010 à 09:23
20 oct. 2010 à 09:23
Ben oui ! J'y avait pensé ......
Mais je ne sais pas comment faire pour comparer $row[nom] avec $row[texte] pour savoir s'ils proviennent du même enregistrement !
Avec $row[id] peut-être ? Mais comment ?
Merci
Mais je ne sais pas comment faire pour comparer $row[nom] avec $row[texte] pour savoir s'ils proviennent du même enregistrement !
Avec $row[id] peut-être ? Mais comment ?
Merci
avion-f16
Messages postés
19252
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 février 2025
4 505
20 oct. 2010 à 13:19
20 oct. 2010 à 13:19
$select = 'SELECT * FROM menu'; $result = mysql_query($select, $link) or die ('Erreur : ' . mysql_error() ); echo '<div class="menu">'; while($row = mysql_fetch_array($result)) { $classe = ''; if(isset($_GET['nom']) && $_GET['nom'] == $row['nom']) { $classe = 'class="actif" '; } echo '<a '.$classe.'href="index.php?nom='.$row['nom'].' & texte='.$row['texte'].'" class="bouton">'.$row['nom'].'</a><p>'; } echo '</div>';
t671
Messages postés
1470
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
12 février 2025
11
20 oct. 2010 à 18:34
20 oct. 2010 à 18:34
Je suis désolé, mais cela ne fonctionne pas mieux !!!! :o(
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
avion-f16
Messages postés
19252
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 février 2025
4 505
20 oct. 2010 à 18:51
20 oct. 2010 à 18:51
Il faut aussi créer la classe "actif" dans le CSS.
.actif { ... }
t671
Messages postés
1470
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
12 février 2025
11
20 oct. 2010 à 19:02
20 oct. 2010 à 19:02
Ben c'est ce que j'ai fait, mais le bouton ne garde pas la class actif !
J'ai modifié ainsi :
mais ça fonctionne pas mieux ....
J'ai modifié ainsi :
while($row = mysql_fetch_array($result)) { $classe = 'bouton'; if(isset($_GET['nom']) && $_GET['nom'] == $row['nom']) { $classe = 'class="actif" '; } echo '<a href="index.php?nom='.$row['nom'].' & texte='.$row['texte'].'" class="'.$classe.'">'.$row['nom'].'</a><p>'; } echo '</div>'; echo '<div class="frame">'; echo $_GET['texte']; echo '</div>';
mais ça fonctionne pas mieux ....
avion-f16
Messages postés
19252
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 février 2025
4 505
20 oct. 2010 à 19:56
20 oct. 2010 à 19:56
« $classe = ''; » sert à déclarer la variable ! Tu ne dois pas mettre ta classe à toi dedans ! C'est "actif" qu'il faut remplacer (quelques lignes plus loin)
t671
Messages postés
1470
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
12 février 2025
11
21 oct. 2010 à 11:22
21 oct. 2010 à 11:22
OK ! J'ai remis le code comme tu me le proposes plus haut. Mais ça ne fonctionne pas mieux :
Les boutons ne prennent pas la classe actif quand le texte correspondant estr affiché dans le <div class="frame">.
.bouton { display: block; width: 130px; height: 17px; background-color: #800000; text-align: center; font-family: verdana, arial, helvetica, sans-serif; font-size: 10px; font-weight: bold; color: yellow; text-decoration: none; } .bouton:hover { ............................ } .actif { ........................ } <?php $select = 'SELECT * FROM menu'; $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); echo '<div class="menu">'; while($row = mysql_fetch_array($result)) { $classe = ''; if(isset($_GET['nom']) && $_GET['nom'] == $row['nom']) { $classe = 'class="actif" '; } echo '<a '.$classe.'href="index.php?nom='.$row['nom'].' & texte='.$row['texte'].'" class="bouton">'.$row['nom'].'</a><p>'; } echo '</div>'; echo '<div class="frame">'; echo $_GET['texte']; echo '</div>'; ?>
Les boutons ne prennent pas la classe actif quand le texte correspondant estr affiché dans le <div class="frame">.
avion-f16
Messages postés
19252
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 février 2025
4 505
21 oct. 2010 à 17:11
21 oct. 2010 à 17:11
Les boutons prennent la classe "actif" quand $_GET['nom'] est égale au nom du bouton ($row['nom']).
Fais un echo de ces variables pour voir ce quelle contiennent.
Fais un echo de ces variables pour voir ce quelle contiennent.
t671
Messages postés
1470
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
12 février 2025
11
Modifié par t671 le 21/10/2010 à 17:43
Modifié par t671 le 21/10/2010 à 17:43
Si je fais un echo des variables, donc j'écris :
$_GET['nom'] me retourne bien le nom. Par contre, $row['nom'] ne me retourne rien !!!!???? (j'ai testé en mettant les valeurs en commentaire).
Bizarre, puisque avec >'.$row['nom'].'</a>, le nom m'est bien retourné !
..........echo '<a '.$classe.'href="index.php?nom='.$row['nom'].' & texte='.$row['texte'].'" class="bouton">'.$row['nom'].'</a><p>'; } echo $_GET['nom']; echo $row['nom'];
$_GET['nom'] me retourne bien le nom. Par contre, $row['nom'] ne me retourne rien !!!!???? (j'ai testé en mettant les valeurs en commentaire).
Bizarre, puisque avec >'.$row['nom'].'</a>, le nom m'est bien retourné !
avion-f16
Messages postés
19252
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 février 2025
4 505
Modifié par avion-f16 le 21/10/2010 à 17:57
Modifié par avion-f16 le 21/10/2010 à 17:57
Fais l'affichage de $row['nom'] dans la boucle while.
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
t671
Messages postés
1470
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
12 février 2025
11
21 oct. 2010 à 18:15
21 oct. 2010 à 18:15
J'ai donc fait ce que tu m'as dit, et le résultat du $row[nom] s'affiche partout sauf dans la boucle du if
Donc la condition n'est pas exécutée !?
if(isset($_GET['nom']) && $_GET['nom'] == $row['nom']) { echo $row['nom']; $classe = 'class="actif" '; }
Donc la condition n'est pas exécutée !?
avion-f16
Messages postés
19252
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 février 2025
4 505
21 oct. 2010 à 19:15
21 oct. 2010 à 19:15
if n'est pas une boucle.
Donc une seule fois dans while !
« Donc la condition n'est pas exécutée !? »
Ça je l'ai remarqué depuis longtemps.
C'est pour ça que j'aimerais savoir la valeur des variables.
Donc une seule fois dans while !
« Donc la condition n'est pas exécutée !? »
Ça je l'ai remarqué depuis longtemps.
C'est pour ça que j'aimerais savoir la valeur des variables.
t671
Messages postés
1470
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
12 février 2025
11
22 oct. 2010 à 18:43
22 oct. 2010 à 18:43
La valeur de $row['nom'] correspond aux valeurs "nom" des enregistrements !
Comme c'est dans la boucle while, toutes les valeurs sont retournées.
La valeur $_GET['nom'] dans la boucle while me retourne la valeur du bouton sur lequel je cliques.
Donc effectivement, comme est écrit la condition, ça devrait fonctionner .... ????!!!!
Ce serait dans l'écriture du echo d'où vient l'erreur ?
Comme c'est dans la boucle while, toutes les valeurs sont retournées.
La valeur $_GET['nom'] dans la boucle while me retourne la valeur du bouton sur lequel je cliques.
Donc effectivement, comme est écrit la condition, ça devrait fonctionner .... ????!!!!
Ce serait dans l'écriture du echo d'où vient l'erreur ?
echo '<a '.$classe.'href="index.php?nom='.$row['nom'].' & texte='.$row['texte'].'" class="bouton">'.$row['nom'].'</a><p>';
avion-f16
Messages postés
19252
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
10 février 2025
4 505
Modifié par avion-f16 le 22/10/2010 à 20:34
Modifié par avion-f16 le 22/10/2010 à 20:34
Je ne vois pas d'erreur dans l'affichage (echo).
Regarde au niveau du code source via ton navigateur.
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
Regarde au niveau du code source via ton navigateur.
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
t671
Messages postés
1470
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
12 février 2025
11
Modifié par t671 le 23/10/2010 à 10:51
Modifié par t671 le 23/10/2010 à 10:51
YESSSSSSSSSSSSS !!!!!!!! J'ai trouvé !!!!!!!!!!
J'ai enlevé les espaces autour du & dans "....$row['nom'].' & texte....."
Merci pour ton aide et pour le dérangement ..... ;o))))))
A ++
J'ai enlevé les espaces autour du & dans "....$row['nom'].' & texte....."
Merci pour ton aide et pour le dérangement ..... ;o))))))
A ++