Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/09/2011, 08h25   #1
Invité de passage
 
Inscription : septembre 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 2
Points : 0
Points : 0
Par défaut menu en php avec css

Bonjour à tous.

J'écrit pour la première fois sur ce forum, car j'ai un souci php que je n'arrive pas à résoudre.

Je tente de mettre le menu de mon site web en php avec requète Mysql.
Les menus s'affichent correctement pas de problème.
Mon seul souci est que je veux qu'il y ai une alternance de css entre les liens
exp :
lechat.php avec la class 1
lechien.php avec la class 2
lecanard.php avec la class 1
etc...

Je pensais faire cela à l'aide d'un champs 'classe' de ma table, la remplir de chiffre et faire au moyen des chiffres pair et impair.

Mais je n'arrive pas à le coder.

Quelqu'un peut il m'aider ?

Merci d'avance pour vos réponses
anouk3177 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 09h59   #2
Membre confirmé
 
Homme Dominique
Première S
Inscription : juillet 2010
Messages : 252
Détails du profil
Informations personnelles :
Nom : Homme Dominique
Âge : 15
Localisation : France

Informations professionnelles :
Activité : Première S

Informations forums :
Inscription : juillet 2010
Messages : 252
Points : 228
Points : 228
Code :
1
2
3
4
5
6
7
$i=1;
while($data = $requete->fetch()){
    // boucle de parcours des résultats de la requête
   // là, une condition pour savoir quelle attribut utiliser :
   echo '<span class='.$i.' >lien</span>';
  $i= $i==1?2:1; // conditions ternaires
}

voilà, en fait, " $i= $i==1?2:1; " ça veux dire :

Code :
1
2
3
4
5
if($i==1){
$i=2;
}else{
$i=1;
}
voilà, comme ça au premier tout i = 1, au deuxième i =2 au troisième i=1 etc.

NB

ceci n'est qu'un moyen parmi beaucoup d'autre.
Dominique49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 11h28   #3
Membre éclairé
 
Avatar de Inazo
 
Gérant - société de développement web
Inscription : avril 2007
Messages : 290
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Gérant - société de développement web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : avril 2007
Messages : 290
Points : 360
Points : 360
Bonjour,

La solution de Dominique49 fonctionne, je vais donner une autre solution par contre attention les class et id ne peuvent commencer par un nombre (W3C).

Donc pour ma part dans ces cas là je suis pour 0 ou 1.

Code :
1
2
3
4
5
6
7
8
9
10
 
$i=0;
 
while($data = $requete->fetch()){
    // boucle de parcours des résultats de la requête
   // là, une condition pour savoir quelle attribut utiliser :
  echo '<span class="ClassMenu'.$i.'">lien</span>';
 
  $i =! $i; // conditions ternaires
}
Donc le code $i =! $i; fait la chose suivante :

Si $i == 1 Alors $i = 0
Si $i == 0 Alors $i = 1

Cordialement,
PS : n'oubliez pas non plus vos " " pour les attributs HTML un jour vous aurez des surprises sinon.
__________________
Si vous débutez en PHP : Tutoriel pour grands débutants

Mes tutoriels : http://alexandre-joly.developpez.com/
Inazo est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/09/2011, 11h52   #4
Membre confirmé
 
Homme Dominique
Première S
Inscription : juillet 2010
Messages : 252
Détails du profil
Informations personnelles :
Nom : Homme Dominique
Âge : 15
Localisation : France

Informations professionnelles :
Activité : Première S

Informations forums :
Inscription : juillet 2010
Messages : 252
Points : 228
Points : 228
bravo, encore plus performant (et aux normes)
Dominique49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 13h02   #5
Invité de passage
 
Inscription : septembre 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : septembre 2011
Messages : 2
Points : 0
Points : 0
Par défaut Merci

Merci beaucoup pour vos réponses, je vais essayer de mettre tout cela en pratique !^^

Bien cordialement
anouk3177 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2011, 21h50   #6
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 454
Points : 3 454
Juste pour info on peut faire la même chose en CSS3-only.

Par exemple :

Code :
1
2
.classMenu:nth-child(odd) { background-color : transparent }
.classMenu:nth-child(even) { background-color : lemonchiffon }
http://www.w3.org/TR/css3-selectors/#nth-child-pseudo
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h11.


 
 
 
 
Partenaires

Hébergement Web