PHP|Débutant :: Forums

Advertisement

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

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

#1 19-10-2010 10:36:56

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

rendre actif un onglet de menu

Bonjour,

Je cherche à rendre actif un onglet de menu dont le nom et le texte correspondant sont issus d'une base de donnée.

Affichage du menu :

$select = 'SELECT * FROM menu';  
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );    

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

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

echo '</div>';

Merci

Hors ligne

#2 19-10-2010 11:15:34

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : rendre actif un onglet de menu

et il est ou le problème ?
a++

Hors ligne

#3 19-10-2010 11:35:22

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

Re : rendre actif un onglet de menu

Pierrot a écrit :

et il est ou le problème ?
a++

Dans mon CSS j'ai ceci :

.bouton {
     display: block;...............
}
.bouton:hover {
     display: block;....................
}
.bouton:active {
     display: block;................
}

Quand j'affiche le texte correspondant au bouton (onglet du menu) dans une div centrale, je souhaiterais que ce bouton prenne la class "bouton:active", tant que la page reste affichée.
Je suis arrivé là, mais ça ne fonctionne pas ...... sad

<?php    

$select = 'SELECT * FROM menu';  
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );  

if(isset($_GET['texte']))
{
$inc = $_GET['texte'];
$active = $_GET['nom'];
}
else
{
 $inc = 'accueil.htm';
 $active = 'accueil';
}

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

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

echo '</div>';

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

exit;

?>

Hors ligne

#4 19-10-2010 12:48:03

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : rendre actif un onglet de menu

Ce n'est pas possible, c'est une classe qui est évènementielle.
Elle n'est active que lorsque tu cliques sur le lien sans relâcher la souris.

Créés une seconde classe nommée .bouton_active cela fonctionnera mieux.

Hors ligne

#5 19-10-2010 13:45:40

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

Re : rendre actif un onglet de menu

salut,

tu oeut, en fonction de ta variable ajouter une classe différente ?


<?php
while($row = mysql_fetch_array($result))
{
echo '<a href="index.php?nom='.$row['nom'].' & texte='.$row['texte'].'" class="bouton';
if($active == $row['nom']) echo ' lienactif';
echo '">'.$row['nom'].'</a><p>';
}
?>

dans ce cas tu aura donc class="bouton lienactif" ce qui te permetde modifer ou d'ajouter un truc a la classe de bae.

tu peut aussi simplement mettre soit boutton soit lien actif !

pour ce qui est de : active ceci n'est "visible" que le temps de l'action (en gros quand tu clique sur le lien) si tu veut modifier le lien d'une page déjà vue => :visited

@+


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

#6 20-10-2010 17:42:00

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

Re : rendre actif un onglet de menu

Désolé moogli, mais ça ne fonctionne pas ..... sad

Hors ligne

#7 23-10-2010 09:53:13

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

Re : rendre actif un onglet de menu

J'ai enlevé les espaces autour du &, posé une condition, et ça fonctionne .....:D

A +++:P

Hors ligne

Pied de page des forums