IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Appliquer 2 styles dans une meme boucle while [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de GarGamel55
    Profil pro
    Inscrit en
    Août 2005
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 154
    Points : 106
    Points
    106
    Par défaut Appliquer 2 styles dans une meme boucle while
    Bonjour,

    Je souhaiterais améliorer ma boucle while en appliquant 2 styles différents (1 ligne sur 2).

    Actuellement je récupère mes données ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	while ($data = mysql_fetch_array($req)) 
    	{
    		echo '<div id="liste"><li>'.$data['prenom'].'&nbsp;'.$data['age'].'&nbsp;'.$data['metier'] .'</li></div>';
    	}
    Mais je voudrais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ligne 1 echo '<div id="liste"><li>'.$data['prenom']....
    puis ligne 2 echo '<div id="liste2"><li>'.$data['prenom']....
    ligne 3 echo '<div id="liste"><li>'.$data['prenom']
    ligne 4 echo '<div id="liste2"><li>'.$data['prenom']
    etc ....
    Comment puis-je faire ?

    Merci d'avance
    né le 14/12/2006 pis un autre le 25/05/2010

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    sois tu t'embêtes et tu fais un modulo, sois tu le fais en CSS avec l'option nth-of-type(2n+1)

    http://css-tricks.com/examples/nth-child-tester/


  3. #3
    Membre régulier Avatar de GarGamel55
    Profil pro
    Inscrit en
    Août 2005
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 154
    Points : 106
    Points
    106
    Par défaut
    Merci beaucoup, ça m'a aidé

    La 2ème solution est hyper facile, dommage que ce soit pas compatible ie8=<
    né le 14/12/2006 pis un autre le 25/05/2010

  4. #4
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Hello

    Je rappelle que l'attribut 'id' est censé être unique dans tout le DOM.

    L'attribut 'style' dans les balises (x)html est généralement très mal vu car considéré comme intrusif et ne fait pas partie des best practices du web en général. Logiquement, il est d'usage d'attribuer plusieurs classes à un élément pour ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <div class="class1 class2 class3">
    </div>
    C'est tout à fait correct et compris par tous les navigateurs cette fois.

    dans ton exemple, j'utilise traditionnellement odd et even en plus de la classe line-row. ça donne à peu près ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $collection = array(
     'titre A' => 'Element A',
     'titre B' => 'Element B',
     'titre C' => 'Element C',
    );
    $css_class = "odd";
    foreach ($collection as $key => $value)
    {
        echo "<li class=\"line-row $css_class\" title=\"$key\">$value</li>";
        $css_class = ($css_class == 'odd') ? 'even' : 'odd';
    }
    Note également que jQuery (si tu l'utilise) dispose des méthodes de selection odd et even pour séléctionner un subset d'éléments pairs ou impairs sur lesquels tu peux effectuer les transformations voulues.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Différents styles dans une boucle while()
    Par vbaguet dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 03/07/2013, 11h11
  2. liens de style différents dans une même page
    Par zakuli dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 01/07/2006, 20h20
  3. 2 auto increment dans une meme table
    Par gesualda dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 12/10/2005, 09h31
  4. plusieurs document.write dans une meme page
    Par Loko dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/07/2005, 17h16
  5. Find et mv dans une même commande
    Par Yann21 dans le forum Linux
    Réponses: 3
    Dernier message: 28/02/2005, 10h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo