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

Langage PHP Discussion :

couleur alternée de background d'une div en dynamique


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 412
    Points : 145
    Points
    145
    Par défaut couleur alternée de background d'une div en dynamique
    bonjour,

    j' affiche le résultat d'une requête
    j'ai donc plusieurs lignes d'enregistrement qui s'affichent mais j'aimerais qu'elle s'affichent dans une div avec alternativement une couleur de fond grise et une en blanc.

    en html statique je sais le faire avec du css ou avec jquery ( event et odd ) mais j'ai besoin de le faire en dynamique

    voila ma page d'affichage ( c'est sur la div qui à la classe "row" que j'aimerais appliquer cette couleur , une fois en gris, une fois en blanc )


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    try {
      $select = $connection->prepare("SELECT  * FROM table
    				 WHERE  name  LIKE :search ");
     
     $select->execute(array('search'=>$toto));
        $select->setFetchMode(PDO::FETCH_OBJ);
     
      while( $enregistrement = $select->fetch() )
      {
    $nombreEnregistrements = $select->rowCount();	  
     
    <div class="container"> 
     
    <div class="row " ><br />
    <div class="span9"> contenue de  cette div : <?php echo $enregistrement->name  ;?> </div>
    <div class="span3">contenue de  cette div : <?php echo $enregistrement->mailuser  ;?> </div>
    </div> <!--fin div row-->
     
     
    <?php  } }catch(PDOException $exception){ //to handle error
            echo "Error: " . $exception->getMessage();
        } ; ?>
    </div><!--fin div container-->
    merci de votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Points : 1 313
    Points
    1 313
    Par défaut
    Citation Envoyé par serna Voir le message
    en html statique je sais le faire avec du css ou avec jquery ( event et odd ) mais j'ai besoin de le faire en dynamique
    y'a quoi de dynamique ici qui empêche de faire un pair/impair en css?

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    bonjour,
    un peu comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?php
    try {
      $select = $connection->prepare("SELECT  * FROM table
    				 WHERE  name  LIKE :search ");
     
     $select->execute(array('search'=>$toto));
        $select->setFetchMode(PDO::FETCH_OBJ);
    $i=0; 
      while( $enregistrement = $select->fetch() )
      {
     $i++;
    $ligne=($i % 2 ==0)? 'pair':'impair';
    $nombreEnregistrements = $select->rowCount();	  
     
    <div class="container"> 
     
    <div class="row " ><br />
    <div class="span9 <?php echo $ligne ?>"> contenue de  cette div : <?php echo $enregistrement->name  ;?> </div>
    <div class="span3 <?php echo $ligne ?>">contenue de  cette div : <?php echo $enregistrement->mailuser  ;?> </div>
    </div> <!--fin div row-->
     
     
    <?php  } }catch(PDOException $exception){ //to handle error
            echo "Error: " . $exception->getMessage();
        } ; ?>
    </div><!--fin div container-->
    ?>
    et puis dans ton css:
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    .pair{
     
    }
     
    .impair{
     
    }

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 412
    Points : 145
    Points
    145
    Par défaut
    bonjour gototog

    l'affichage de l'enregistrement est dynamique , j'ai une div ( <div "class row">)
    qui va s'afficher autant de fois qu'il y'a d'enregistrement dans la table, par contre je ne sais pas lui appliquer un pair/impair en css comme en statique

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 49
    Points : 95
    Points
    95
    Par défaut
    Bonjour,

    Comme gototog, je ne voit pas où tu a un problème pour utiliser du pair/impair.

    Je te propose de faire comme ceci :

    Tu fait incrémenter un variable dans ton while, et au moment ou tu affiche le

    tu fait le test de ta variable ; si elle est paire, tu affiche à la place
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="rowDark">

    et si elle est impaire
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="rowWhite">


    Puis à toi de définir tes class rowDark et rowWhite en css

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    Citation Envoyé par serna Voir le message
    bonjour gototog

    l'affichage de l'enregistrement est dynamique , j'ai une div ( <div "class row">)
    qui va s'afficher autant de fois qu'il y'a d'enregistrement dans la table, par contre je ne sais pas leur appliquer un pair/impair en css comme en statique
    pair et impair sont des selecteurs de class on peut leur appliquer n'importe quelle propriété:
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    .impair{
    background:#fff;
    }
    .pair{
    background:#766F64;
    }

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 412
    Points : 145
    Points
    145
    Par défaut
    yipeeee !!

    merci à vous , ça marche
    j'ai appliqué les class pair et impair à la div qui avait la class row et ça marche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <?php
    try {
      $select = $connection->prepare("SELECT  * FROM table
    				 WHERE  name  LIKE :search ");
     
     $select->execute(array('search'=>$toto));
        $select->setFetchMode(PDO::FETCH_OBJ);
    $i=0; 
      while( $enregistrement = $select->fetch() )
      {
     $i++;
    $ligne=($i % 2 ==0)? 'pair':'impair';
     
     
    <div class="container"> 
     
    <div class="row <?php echo $ligne ?> " ><br />
    <div class="span9"> contenue de  cette div : <?php echo $enregistrement->name  ;?> </div>
    <div class="span3">contenue de  cette div : <?php echo $enregistrement->mailuser  ;?> </div>
    </div> <!--fin div row-->
     
     
    <?php  } }catch(PDOException $exception){ //to handle error
            echo "Error: " . $exception->getMessage();
        } ; ?>
    </div><!--fin div container-->
    ?>
    bravo et merci

  8. #8
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2012
    Messages
    631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2012
    Messages : 631
    Points : 1 220
    Points
    1 220
    Par défaut
    de rien

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

Discussions similaires

  1. 2 background dans une div overflow
    Par dominos dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 20/01/2011, 21h44
  2. Mettre une photo background dans une div
    Par ryodo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 07/09/2010, 09h24
  3. [CSS 3] Position d'un petit background dans une div
    Par Boris56 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 15/06/2010, 09h27
  4. Background d'une DIV fixed et position.
    Par defacta dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 15/04/2010, 01h20
  5. background d'une Div non reconnu sous IE
    Par Nimothenicefish dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 04/01/2009, 12h54

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