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 :

[Tableaux] Alternance des couleur dans un tableau


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Points : 10
    Points
    10
    Par défaut [Tableaux] Alternance des couleur dans un tableau
    Bonjour,

    J’ai créer une belle base de donnée et je voulais que mon tableau soit plus lisible alors j’ai cherché sur le net un script qui me permet d'alterné les couleur.
    Voila mon code …
    Je pense que j’ai un problème a ce niveau :

    <tr bgcolor="<? echo $bg;?>">

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    <html>
     
    <head>
      <title></title>
    </head>
     
    <body>
     
    <?php
     
    // Affichage du tableau des Agences
     
    function TableauAgences ($connexion)
    {
      $resultat = ExecRequete ("SELECT * FROM listagences ", $connexion);
     
      echo "<CENTER><TABLE BORDER=4 CELLSPACING=2 CELLPADDING=2>"
        . "<CAPTION ALIGN=bottom>Table <I>listagences </I></CAPTION> "
        . "<TR><TH bgcolor=#FFFF00>REF</TH><TH bgcolor=#FFFF00>Nom</TH><TH bgcolor=#FFFF00>Numéro de téléphone</TH>"
        . "<TH bgcolor=#FFFF00>Adresse</TH bgcolor=#FFFF00><TH bgcolor=#FFFF00>EF</TH><TH bgcolor=#FFFF00>Code Postal</TH>"
        . "<TH bgcolor=#FFFF00>Ville</TH><TH bgcolor=#FFFF00>CS</TH><TH bgcolor=#FFFF00>Action</TH</TR>\n";
     
    ///////////////////////////////////ALTERNACE DES COULEURS///////////////////////////////////////////////////////
     
     
     $resultat=mysql_query("select * from listagences");
    //*********************************************************************************************
    //Coloriage et alternance des ligne d'un tableau
    //Variable de au départ à 1.
    $num=1;
     
    //Boucle d'affichage des résultats de la requéte
    while($row=mysql_fetch_assoc($result))
    {
    		$num++;
    		//utiliser Modulo 2 afin de verifier si le $num est egale à 0
    		if(($num%2)!=0)
    		{
    	       $bg="#FFFFFF";
    	 	}
    	 	else
    	 	{
    	 		$bg="#5B5BFF";
    	 	}
     
    //***********************************************************************************************
     
    	<tr bgcolor="<? echo $bg;?>">
    	<td><? echo $row['REF'];?></td>
    	<td><? echo $row['Nom'];?></td>
    	<td><? echo $row['NumTel'];?></td>
    	<td><? echo $row['Adresse'];?></td>
    	<td><? echo $row['EF'];?></td>
    	<td><? echo $row['CodPost'];?></td>
    	<td><? echo $row['Ville'];?></td>
    	<td><? echo $row['CS'];?></td>
     
        }
     
        //*****************************************************
     //////////////////////////////////////////////////////////////////////////////////////////
     
      $gestfour  = ObjetSuivant ($resultat);
     
      while ($gestfour  = ObjetSuivant ($resultat))
        {
          // On encode le titre pour le placer dans l'URL
          $REFURL = urlEncode ($gestfour ->REF);
          echo  "<TR><TD>$gestfour->REF</TD><TD>$gestfour->Nom</TD>"
    	. "<TD>$gestfour->NumTel</TD><TD>$gestfour->Adresse</TD>"
    	. "<TD>$gestfour->EF</TD>"
    	. "<TD>$gestfour->CodPost</TD>"
    	. "<TD>$gestfour->Ville</TD>"
    	. "<TD>$gestfour->CS</TD>"
    	. "<TD><A HREF='listagences.php?mode=" . MODE_MAJ
    	. "&REF=$REFURL'>Modifier cette Agence</A></TD></TR>\n";
        }
     
      echo "</TABLE></CENTER>\n";
    }
     
    ?>
     
    </body>
     
    </html>

    et je me suis inspiré de ce code:

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>PHP - Alternance des couleurs dans un tableau</title>
    </head><body>
     
        <?php
            // Connection à la base de données.
            mysql_connect("localhost","","");
            mysql_select_db("tutorial");
     
            // Sélection des données à insérer dans le tableau.
            $result=mysql_query("select * from name_list order by id asc");
        ?>
     
        <table border="1">
        <tr>
        <td bgcolor="#FF9900"><strong>No.</strong></td>
        <td bgcolor="#FF9900"><strong>Company</strong></td>
        </tr>
     
        <?php
            // Mettre la variable au départ à 1.
            $num=1;
     
            // Boucle d'affichage des résultats de la requête
            while($row=mysql_fetch_assoc($result)){
                $num++;
                // Utiliser Modulo 2 afin de vérifier si le $num est égal à 0.
                if(($num%2)!=0){
                    $bg="#FFCC00";
                }else{
                    $bg="#FFFF00";
                }
        ?>
     
        <tr bgcolor="<? echo $bg; ?>">
        <td><? echo $row['id']; ?></td>
        <td><? echo $row['name']; ?></td>
        </tr>
     
        <?php
            // Fin de la boucke.
            }
     
            // Fermeture de la connection à la base de données.
            mysql_close();
        ?>
        </table>
    </body>
    </html>
    Merci d'avance

  2. #2
    Membre éclairé
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Points : 790
    Points
    790
    Par défaut
    Ma boule de crystal étant en panne, je ne sais pas exactement ce qui bug dans ton code ^^

    Dans tous les cas, je te déconseille l'utilisation d'un bgcolor="".

    utilise plutôt l'attribut style comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    style="background-color: #xxxxxx"

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 30
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par leduc26
    Bonjour,

    J’ai créer une belle base de donnée et je voulais que mon tableau soit plus lisible alors j’ai cherché sur le net un script qui me permet d'alterné les couleur.
    Voila mon code …
    Je pense que j’ai un problème a ce niveau :

    <tr bgcolor="<? echo $bg;?>">

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    <html>
    <head>
      <title></title>
    </head>
    <body>
    <?php
    // Affichage du tableau des Agences
    
    function TableauAgences ($connexion)
    {
      $resultat = ExecRequete ("SELECT * FROM listagences ", $connexion);
    
      echo "<CENTER><TABLE BORDER=4 CELLSPACING=2 CELLPADDING=2>"
        . "<CAPTION ALIGN=bottom>Table <I>listagences </I></CAPTION> "
        . "<TR><TH bgcolor=#FFFF00>REF</TH><TH bgcolor=#FFFF00>Nom</TH><TH bgcolor=#FFFF00>Numéro de téléphone</TH>"
        . "<TH bgcolor=#FFFF00>Adresse</TH bgcolor=#FFFF00><TH bgcolor=#FFFF00>EF</TH><TH bgcolor=#FFFF00>Code Postal</TH>"
        . "<TH bgcolor=#FFFF00>Ville</TH><TH bgcolor=#FFFF00>CS</TH><TH bgcolor=#FFFF00>Action</TH</TR>\n";
    
    ///////////////////////////////////ALTERNACE DES COULEURS///////////////////////////////////////////////////////
    
     $resultat=mysql_query("select * from listagences");
    //*********************************************************************************************
    //Coloriage et alternance des ligne d'un tableau
    //Variable de au départ à 1.
    $num=1;
    //Boucle d'affichage des résultats de la requéte
    while($row=mysql_fetch_assoc($result))
    {
    		$num++;
    		//utiliser Modulo 2 afin de verifier si le $num est egale à 0
    		if(($num%2)!=0)
    		{$bg="#FFFFFF";}
    	 	else
    	 	{$bg="#5B5BFF";}
    ?>
    //***********************************************************************************************
    
    	<tr bgcolor="<?php echo $bg;?>">
    	<td><?php echo $row['REF'];?></td>
    	<td><?php echo $row['Nom'];?></td>
    	<td><?php echo $row['NumTel'];?></td>
    	<td><?php echo $row['Adresse'];?></td>
    	<td><?php echo $row['EF'];?></td>
    	<td><?php echo $row['CodPost'];?></td>
    	<td><?php echo $row['Ville'];?></td>
    	<td><?php echo $row['CS'];?></td>
     <?php   }
    //*****************************************************
    //////////////////////////////////////////////////////////////////////////////////////////
    
      $gestfour  = ObjetSuivant ($resultat);
    
      while ($gestfour  = ObjetSuivant ($resultat))
        {
          // On encode le titre pour le placer dans l'URL
          $REFURL = urlEncode ($gestfour ->REF);
          echo  "<TR><TD>$gestfour->REF</TD><TD>$gestfour->Nom</TD>"
    	. "<TD>$gestfour->NumTel</TD><TD>$gestfour->Adresse</TD>"
    	. "<TD>$gestfour->EF</TD>"
    	. "<TD>$gestfour->CodPost</TD>"
    	. "<TD>$gestfour->Ville</TD>"
    	. "<TD>$gestfour->CS</TD>"
    	. "<TD><A HREF='listagences.php?mode=" . MODE_MAJ
    	. "&REF=$REFURL'>Modifier cette Agence</A></TD></TR>\n";
        }
    
      echo "</TABLE></CENTER>\n";
    }
    ?>
    </body>
    </html>
    Merci d'avance
    Et en verifiant que tes balises sont bien fermé ca marche pas mieux ? (cf texte en rouge)

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Oui désolé j’ai mal exposé mon problème…
    Pour commencer je tien a dire que je suis débutant et je crée ma base de donnée en m’aidant d’un livre et ce code d’origine marche très bien pour affiché le tableau.

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <html>
     
    <head>
      <title></title>
    </head>
     
    <body>
     
    <?php
     
    // Affichage du tableau des Agences
     
    function TableauAgences ($connexion)
    {
      $resultat = ExecRequete ("SELECT * FROM listagences ", $connexion);
     
      echo "<CENTER><TABLE BORDER=4 CELLSPACING=2 CELLPADDING=2>"
        . "<CAPTION ALIGN=bottom>Table <I>listagences </I></CAPTION> "
        . "<TR><TH bgcolor=#FFFF00>REF</TH><TH bgcolor=#FFFF00>Nom</TH><TH bgcolor=#FFFF00>Numéro de téléphone</TH>"
        . "<TH bgcolor=#FFFF00>Adresse</TH bgcolor=#FFFF00><TH bgcolor=#FFFF00>EF</TH><TH bgcolor=#FFFF00>Code Postal</TH>"
        . "<TH bgcolor=#FFFF00>Ville</TH><TH bgcolor=#FFFF00>CS</TH><TH bgcolor=#FFFF00>Action</TH</TR>\n";
     
     
     $gestfour  = ObjetSuivant ($resultat);
     
      while ($gestfour  = ObjetSuivant ($resultat))
        {
          // On encode le titre pour le placer dans l'URL
          $REFURL = urlEncode ($gestfour ->REF);
          echo  "<TR><TD>$gestfour->REF</TD><TD>$gestfour->Nom</TD>"
    	. "<TD>$gestfour->NumTel</TD><TD>$gestfour->Adresse</TD>"
    	. "<TD>$gestfour->EF</TD>"
    	. "<TD>$gestfour->CodPost</TD>"
    	. "<TD>$gestfour->Ville</TD>"
    	. "<TD>$gestfour->CS</TD>"
    	. "<TD><A HREF='listagences.php?mode=" . MODE_MAJ
    	. "&REF=$REFURL'>Modifier cette Agence</A></TD></TR>\n";
        }
     
      echo "</TABLE></CENTER>\n";
    }
     
    ?>
     
    </body>
     
    </html>

    Mais dans j’ai voulu ajouté le boucle pour faire une alternance au niveau des lignes j’ai commencé à avoir pas mal d’erreur quand je compile surtout a ce niveau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <tr bgcolor="<? echo $bg;?>">
    	<td><? echo $row['REF'];?></td>
    	<td><? echo $row['Nom'];?></td>
    	<td><? echo $row['NumTel'];?></td>
    	<td><? echo $row['Adresse'];?></td>
    	<td><? echo $row['EF'];?></td>
    	<td><? echo $row['CodPost'];?></td>
    	<td><? echo $row['Ville'];?></td>
    	<td><? echo $row['CS'];?></td>

  5. #5
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 467
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 467
    Points : 4 656
    Points
    4 656
    Par défaut
    salut,

    manière simple et élégante (du moins pour moi ^^)
    récupéter le nombre total d'occurences, et dire que les lignes paires sont de tel couleur et les impaires d'un autre
    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
    [ta requete sql]
    $num_rows=mysql_num_rows($result);
    $row = mysql_fetch_array($result);
    $compteur=1;
    echo '<table>';
    echo '<tr>les titres des colonnes</tr>';
    while ( $num_rows >= $compteur)
    {
    if ($compteur%2 == 1)
    //  echo "le nombre est impair"; //
    $couleur="#XXXXXX";
    else
    //   echo "le nombre est pair"; //
    $couleur="#YYYYYY";
    echo '<TR bgcolor="'.$couleur.'">';
    echo '<TD align="center">tes colonnes</TD>';
    echo '</TR>';
    $row = mysql_fetch_array($result);
    $compteur=$compteur+1;
    }
    echo '</table>';
    moi je fais toujours ainsi

    ps :
    <td><? echo $row['REF'];?></td>
    <td><? echo $row['Nom'];?></td>
    <td><? echo $row['NumTel'];?></td>
    <td><? echo $row['Adresse'];?></td>
    <td><? echo $row['EF'];?></td>
    <td><? echo $row['CodPost'];?></td>
    <td><? echo $row['Ville'];?></td>
    <td><? echo $row['CS'];?></td>
    c'est pas terrible d'ouvrir et de fermer consatament les balises php

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Hello,
    Donc j’ai suivie tes conseille, et il me semble que je suis sur la bonne vois…Mais du coup j’ai un nouveau problème, j’ai bien une alternance de couleur mais les lignes ne sont plus remplie pas les valeurs que g dans ma base…ca dois pas être grand-chose mais étant débutant g encor du mal à voir mes erreur…

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    <html>
     
    <head>
      <title></title>
    </head>
     
    <body>
     
    <?php
     
    // Affichage du tableau des Agences
     
    function TableauAgences ($connexion)
    {
      $resultat = ExecRequete ("SELECT * FROM listagences ", $connexion);
     
      echo "<CENTER><TABLE BORDER=4 CELLSPACING=2 CELLPADDING=2>"
        . "<CAPTION ALIGN=bottom>Table <I>listagences </I></CAPTION> "
        . "<TR><TH bgcolor=#FFFF00>REF</TH><TH bgcolor=#FFFF00>Nom</TH><TH bgcolor=#FFFF00>Numéro de téléphone</TH>"
        . "<TH bgcolor=#FFFF00>Adresse</TH bgcolor=#FFFF00><TH bgcolor=#FFFF00>EF</TH><TH bgcolor=#FFFF00>Code Postal</TH>"
        . "<TH bgcolor=#FFFF00>Ville</TH><TH bgcolor=#FFFF00>CS</TH><TH bgcolor=#FFFF00>Action</TH</TR>\n";
     
    ///////////////////////////////////ALTERNACE DES COULEURS///////////////////////////////////////////////////////
     
     
     $resultat=mysql_query("select * from listagences");
    //*********************************************************************************************
     
    $num_rows=mysql_num_rows($resultat);
    $row = mysql_fetch_array($resultat);
    $compteur=1;
    //echo '<table>';
    //echo '<tr>REF</tr>';
    while ( $num_rows >= $compteur)
    {
    if ($compteur%2 == 1)
    //  echo "le nombre est impair"; //
    $couleur="#FFFFFF";
    else
    //   echo "le nombre est pair"; //
    $couleur="#7272FC";
    echo '<TR bgcolor="'.$couleur.'">';
    echo '<TD align="center">REF</TD>';
    echo '<TD align="center">Nom</TD>';
    echo '<TD align="center">NumTel</TD>';
    echo '<TD align="center">Adresse</TD>';
    echo '<TD align="center">EF</TD>';
    echo '<TD align="center">CodPost</TD>';
    echo '<TD align="center">Ville</TD>';
    echo '<TD align="center">CS</TD>';
    echo '</TR>';
    $row = mysql_fetch_array($resultat);
    $compteur=$compteur+1;
    }
    echo '</table>';
     
     
        //*****************************************************
     //////////////////////////////////////////////////////////////////////////////////////////
     
      $gestfour  = ObjetSuivant ($resultat);
     
      while ($gestfour  = ObjetSuivant ($resultat))
        {
          // On encode le titre pour le placer dans l'URL
          $REFURL = urlEncode ($gestfour ->REF);
          echo  "<TR><TD>$gestfour->REF</TD><TD>$gestfour->Nom</TD>"
    	. "<TD>$gestfour->NumTel</TD><TD>$gestfour->Adresse</TD>"
    	. "<TD>$gestfour->EF</TD>"
    	. "<TD>$gestfour->CodPost</TD>"
    	. "<TD>$gestfour->Ville</TD>"
    	. "<TD>$gestfour->CS</TD>"
    	. "<TD><A HREF='listagences.php?mode=" . MODE_MAJ
    	. "&REF=$REFURL'>Modifier cette Agence</A></TD></TR>\n";
        }
     
     
      echo "</TABLE></CENTER>\n";
    }
     
    ?>
     
    </body>
     
    </html>


    Voila se que ca donne:


Discussions similaires

  1. alterner les couleurs dans un tableau avec xsl
    Par Eithelgul dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 03/05/2015, 23h29
  2. [Tableaux] Retirer des doublons dans un tableau
    Par Xunil dans le forum Langage
    Réponses: 2
    Dernier message: 07/11/2006, 18h04
  3. Alterner les couleurs dans un tableau
    Par langela94 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 24/01/2006, 13h56
  4. Non impression des couleurs dans le tableau.
    Par sebduduf dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 27/07/2005, 16h13
  5. [Tableaux]Ajouter des valeurs dans un tableau
    Par Antoine1183 dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 03/04/2005, 13h41

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