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 :

Colorer une ligne sur deux dans un tableau selon le modèle trouvé dans la FAQ [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    piano
    Inscrit en
    Décembre 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : piano
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 131
    Par défaut Colorer une ligne sur deux dans un tableau selon le modèle trouvé dans la FAQ
    Bonjour,
    Dans la FAQ j'ai trouvé "Comment alterner la couleur des tr dans un tableau ?" malheureusement je n'arrive pas à l'utiliser

    mon tableau n'est pas colorisé et au-dessus j'ai un affichage de xxx fois

    "$couleur = ($compteur % 2 == 0) ? "#CCCCCC" : "#FFFFFF"; echo ''; $i++;"

    voici la partie de mon code concernée

    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
     
    .......................			
    $result = mysql_query($sql);
     
    if($result)
    {
    ?>
     
        <table border="1"  align="center">
     
            <tr>
                <th>Année</th>
                <th>Arrivée</th>
                <th>Départ</th>
    	    <th>Nb. jours</th>
    	    <th>Nom et prénom</th>
                <th>Prix Location</th>
                <th>Caution</th>
                <th>Lit bébé</th>
                <th>Linge</th>
                <th>Prix Total</th>																		
    	    <th>Somme payée</th>
                <th>Reste à payer</th>
    	    <th>Caution restituée</th>
    	</tr>
    <?php
     
    $i = 0;
     
            while($dateloca = mysql_fetch_assoc($result))
     
    {
    ?>
    $couleur = ($compteur % 2 == 0) ? "#CCCCCC" : "#FFFFFF";
      echo '<tr bgcolor="'.$couleur.'">
     
     
                    <td><b><big><font color="red"><?php display($dateloca['annee']); ?></font></big></b></td>
                    <td><?php display($dateloca['datea']); ?></td>
                    <td><?php display($dateloca['dated']); ?></td>								
                    <td><div class="alindr"><?php display($dateloca['datediff']); ?></div></td>								
                    <td><?php display($dateloca['nom'] . ' - ' .  $dateloca['prenom']); ?></td>
                    <td><div class="alindr"><?php display($dateloca['prixlocation']); ?></div></td>
                    <td><div class="alindr"><?php display($dateloca['caution']); ?></div></td>
                    <td><div class="alindr"><?php display($dateloca['litbaby']); ?></div></td>
                    <td><div class="alindr"><?php display($dateloca['linge']); ?></div></td>																								
                    <td><div class="alindr"><?php display($dateloca['PT']); ?></div></td>
                    <td><div class="alindr"><?php display($dateloca['Totalpaye']); ?></div></td>
                    <td><div class="alindr"><?php display($dateloca['Reste']); ?></div></td>																																								
                    <td><div class="alindr"><?php display($dateloca['restitution']); ?></div></td>
     
    </tr>';
     
    $i++;
    <?php
     
    }
    ?>
     
        </table>
    ................................
    j'ai certainement une erreur de syntaxe quelque part, j'ai essayé de déplacer mes balises mais c'est pire, je n'ai plus mon tableau, seulement une page blanche.

    D'avance merci pour votre aide toujours aussi précieuse

  2. #2
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Effectivement tu as une erreur de syntaxe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
     
    $i = 0;
     
            while($dateloca = mysql_fetch_assoc($result))
     
    {
    ?>
    $couleur = ($compteur % 2 == 0) ? "#CCCCCC" : "#FFFFFF";
      echo '<tr bgcolor="'.$couleur.'">
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  3. #3
    Membre confirmé
    Femme Profil pro
    piano
    Inscrit en
    Décembre 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : piano
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 131
    Par défaut
    ??? mais ??? c'est pareil, où est l'erreur ???
    Je ne comprends pas

    D'avance merci de m'aider si vous savez où est l'erreur.

    Bonne soirée

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    1/ regarde justement la... couleur syntaxique du code :
    Il n'y aurait pas comme un ?> mal placé ?

    Plus bas aussi.

    2/ tu es sûre de comprendre ce que tu écris ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $i = 0;
    ....
    $couleur = ($compteur % 2 == 0) ? "#CCCCCC" : "#FFFFFF";
    ....
    $i++
    $compteur ne risque pas de s'incrémenter...

    3/ Pour info, dans $compteur % 2, % est le modulo.
    Voir: Les opérateurs arithmétiques

  5. #5
    Membre confirmé
    Femme Profil pro
    piano
    Inscrit en
    Décembre 2011
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Suisse

    Informations professionnelles :
    Activité : piano
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 131
    Par défaut
    Bonjour,
    Merci de prendre la peine de me répondre, comme dit plus haut, j'ai trouvé dans la FAQ:
    "Comment alterner la couleur des tr dans un tableau ?"
    J'ai trouvé que c'était une bonne idée et j'ai voulu l'utiliser pour rendre mes tableaux plus lisibles, malheureusement je n'arrive pas à l'utiliser, en fait je ne sais pas bien où le mettre dans mon script qui lui fonctionne parfaitement, l'erreur est certainement due à l'endroit où sont ajoutées ces quelques lignes de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $i = 0;
    while(condition) 
    {
      $couleur = ($compteur % 2 == 0) ? "#CCCCCC" : "#FFFFFF";
      echo '<tr bgcolor="'.$couleur.'"><td>texte</td></tr>';
      $i++;
    }
    mon code sans l'ajout des couleur:
    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
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
     
    <?php error_reporting ( E_ALL ); ?>
    <?php
    include("menu.php");
    ?>
    <link rel="stylesheet" href="style.css" type="text/css">
     
    <br/>
    <center>
    <?php
    echo '<input type="button" onclick="location.href=\''.( ( $variable == 1 ) ? 'listeloca.php' : 'listeloca.php' ).'\'" value="Recommencer" />';
    ?>
    </center>
    <br />
    <?php		
    function display($string)
    {
        echo htmlentities($string, ENT_QUOTES, 'ISO-8859-1');
    }
     
    include("include/variables.inc.php");
    	$liendb  =  mysql_connect($bddserver,  $bddlogin,  $bddpassword);
    mysql_select_db  ($bdd);
     
     
     
     
    $sql = "SELECT
    	DATE_FORMAT( datearrive, '%d/%m/%Y' ) AS datea,
    	DATE_FORMAT( datearrive, '%Y' ) AS annee,
    	DATE_FORMAT( datedepart, '%d/%m/%Y' ) AS dated,
    	DATEDIFF(datedepart,datearrive ) AS datediff,
    	dateloca.datearrive,
    	dateloca.datedepart,
    	dateloca.nombre,
    	dateloca.prixlocation,
    	dateloca.caution,
    	(dateloca.prixlocation+dateloca.caution+dateloca.linge+dateloca.litbaby) as PT,
            (dateloca.1erpaiement+dateloca.2epaiement+dateloca.3epaiement) as Totalpaye,
            (dateloca.prixlocation+dateloca.caution+dateloca.linge+dateloca.litbaby-dateloca.1erpaiement-dateloca.2epaiement-dateloca.3epaiement) as Reste,
    	(dateloca.1erpaiement+dateloca.2epaiement+dateloca.3epaiement-dateloca.caution) as Totalrevenu,
    	dateloca.1erpaiement,
    	DATE_FORMAT( date1erpaiement, '%d/%m/%Y' ) AS dateunp,
    	dateloca.2epaiement,
    	DATE_FORMAT( date2epaiement, '%d/%m/%Y' ) AS datedeuxp,
    	dateloca.3epaiement,
    	DATE_FORMAT( date3epaiement, '%d/%m/%Y' )	AS datetroisp,
    	dateloca.linge,
    	dateloca.litbaby,
    	dateloca.degatspayes,
    	dateloca.nonpaye,
    	dateloca.remarques,
    	dateloca.restitution,
    	DATE_FORMAT( datelettre, '%d/%m/%Y' ) AS datel,
    	dateloca.appart,
    	dateloca.envoitarifs,
    	dateloca.envoidescriptif,
    	dateloca.paragraphesup,
    	dateloca.confirmation,
    	dateloca.enfants,
    	locataires.nom,
    	locataires.prenom,
    	locataires.idnoms
    		FROM dateloca
    		INNER JOIN locataires ON  dateloca.idnoms = locataires.idnoms
    		JOIN (SELECT locataires.idnoms AS id_locataires, COUNT(*) AS total
    		FROM dateloca
    		INNER JOIN locataires ON  dateloca.idnoms = locataires.idnoms
    		WHERE locataires.reserve = 'oui' AND dateloca.annul =2 AND dateloca.prixlocation >0
    		GROUP BY locataires.idnoms
    		HAVING total>=2)
                    AS req_au_moins_2_locataires
    	        ON locataires.idnoms = req_au_moins_2_locataires. id_locataires
    		ORDER BY total desc, locataires.nom, datearrive desc;";
     
     
    $result = mysql_query($sql);
     
    if($result)
    {
    ?>
     
        <table border="1"  align="center">
     
            <tr>
                <th>Année</th>
                <th>Arrivée</th>
                <th>Départ</th>
    	    <th>Nb. jours</th>
    	    <th>Nom et prénom</th>
                <th>Prix Location</th>
                <th>Caution</th>
                <th>Lit bébé</th>
                <th>Linge</th>
                <th>Prix Total</th>																		
    	    <th>Somme payée</th>
                <th>Reste à payer</th>
    	    <th>Caution restituée</th>
    	</tr>
    <?php
     
            while($dateloca = mysql_fetch_assoc($result))
    {
    ?>
     
     
     
    <tr>
                    <td><b><big><font color="red"><?php display($dateloca['annee']); ?></font></big></b></td>
                    <td><?php display($dateloca['datea']); ?></td>
                    <td><?php display($dateloca['dated']); ?></td>								
                    <td><div class="alindr"><?php display($dateloca['datediff']); ?></div></td>								
                    <td><?php display($dateloca['nom'] . ' - ' .  $dateloca['prenom']); ?></td>
                    <td><div class="alindr"><?php display($dateloca['prixlocation']); ?></div></td>
                    <td><div class="alindr"><?php display($dateloca['caution']); ?></div></td>
                    <td><div class="alindr"><?php display($dateloca['litbaby']); ?></div></td>
                    <td><div class="alindr"><?php display($dateloca['linge']); ?></div></td>																								
                    <td><div class="alindr"><?php display($dateloca['PT']); ?></div></td>
                    <td><div class="alindr"><?php display($dateloca['Totalpaye']); ?></div></td>
                    <td><div class="alindr"><?php display($dateloca['Reste']); ?></div></td>																																								
                    <td><div class="alindr"><?php display($dateloca['restitution']); ?></div></td>
    <?php
     
    }
    ?>
     
        </table>
    <br />
    <br />
    <br />
    <br />
    <?php
    }
    mysql_close($liendb);
    ?>
    Et voici ce que j'ai fait et malheureusement cela ne marche pas, j'ai xxx fois :

    "$couleur = ($compteur % 2 == 0) ? "#CCCCCC" : "#FFFFFF"; echo ''; $i++;"

    qui s'affiche et mon tableau n'est pas coloré !!!

    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
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
     
    <?php error_reporting ( E_ALL ); ?>
    <?php
    include("menu.php");
    ?>
    <link rel="stylesheet" href="style.css" type="text/css">
     
    <br/>
    <center>
    <?php
    echo '<input type="button" onclick="location.href=\''.( ( $variable == 1 ) ? 'listeloca.php' : 'listeloca.php' ).'\'" value="Recommencer" />';
    ?>
    </center>
    <br />
    <?php		
    function display($string)
    {
        echo htmlentities($string, ENT_QUOTES, 'ISO-8859-1');
    }
     
    include("include/variables.inc.php");
    	$liendb  =  mysql_connect($bddserver,  $bddlogin,  $bddpassword);
    mysql_select_db  ($bdd);
     
    $sql = "SELECT
    	DATE_FORMAT( datearrive, '%d/%m/%Y' ) AS datea,
    	DATE_FORMAT( datearrive, '%Y' ) AS annee,
    	DATE_FORMAT( datedepart, '%d/%m/%Y' ) AS dated,
    	DATEDIFF(datedepart,datearrive ) AS datediff,
    	dateloca.datearrive,
    	dateloca.datedepart,
    	dateloca.nombre,
    	dateloca.prixlocation,
    	dateloca.caution,
    	(dateloca.prixlocation+dateloca.caution+dateloca.linge+dateloca.litbaby) as PT,
            (dateloca.1erpaiement+dateloca.2epaiement+dateloca.3epaiement) as Totalpaye,
            (dateloca.prixlocation+dateloca.caution+dateloca.linge+dateloca.litbaby-dateloca.1erpaiement-dateloca.2epaiement-dateloca.3epaiement) as Reste,
    	(dateloca.1erpaiement+dateloca.2epaiement+dateloca.3epaiement-dateloca.caution) as Totalrevenu,
    	dateloca.1erpaiement,
    	DATE_FORMAT( date1erpaiement, '%d/%m/%Y' ) AS dateunp,
    	dateloca.2epaiement,
    	DATE_FORMAT( date2epaiement, '%d/%m/%Y' ) AS datedeuxp,
    	dateloca.3epaiement,
    	DATE_FORMAT( date3epaiement, '%d/%m/%Y' )	AS datetroisp,
    	dateloca.linge,
    	dateloca.litbaby,
    	dateloca.degatspayes,
    	dateloca.nonpaye,
    	dateloca.remarques,
    	dateloca.restitution,
    	DATE_FORMAT( datelettre, '%d/%m/%Y' ) AS datel,
    	dateloca.appart,
    	dateloca.envoitarifs,
    	dateloca.envoidescriptif,
    	dateloca.paragraphesup,
    	dateloca.confirmation,
    	dateloca.enfants,
    	locataires.nom,
    	locataires.prenom,
    	locataires.idnoms
    		FROM dateloca
    		INNER JOIN locataires ON  dateloca.idnoms = locataires.idnoms
    		JOIN (SELECT locataires.idnoms AS id_locataires, COUNT(*) AS total
    		FROM dateloca
    		INNER JOIN locataires ON  dateloca.idnoms = locataires.idnoms
    		WHERE locataires.reserve = 'oui' AND dateloca.annul =2 AND dateloca.prixlocation >0
    		GROUP BY locataires.idnoms
    		HAVING total>=2)
                    AS req_au_moins_2_locataires
    	        ON locataires.idnoms = req_au_moins_2_locataires. id_locataires
    		ORDER BY total desc, locataires.nom, datearrive desc;";
     
    $result = mysql_query($sql);
     
    if($result)
    {
    ?>
     
        <table border="1"  align="center">
     
            <tr>
                <th>Année</th>
                <th>Arrivée</th>
                <th>Départ</th>
    	    <th>Nb. jours</th>
    	    <th>Nom et prénom</th>
                <th>Prix Location</th>
                <th>Caution</th>
                <th>Lit bébé</th>
                <th>Linge</th>
                <th>Prix Total</th>																		
    	    <th>Somme payée</th>
                <th>Reste à payer</th>
    	    <th>Caution restituée</th>
    	</tr>
    <?php
     
    $i = 0;
     
            while($dateloca = mysql_fetch_assoc($result))
     
    {
    ?>
    $couleur = ($compteur % 2 == 0) ? "#CCCCCC" : "#FFFFFF";
      echo '<tr bgcolor="'.$couleur.'">
     
                    <td><b><big><font color="red"><?php display($dateloca['annee']); ?></font></big></b></td>
                    <td><?php display($dateloca['datea']); ?></td>
                    <td><?php display($dateloca['dated']); ?></td>								
                    <td><div class="alindr"><?php display($dateloca['datediff']); ?></div></td>								
                    <td><?php display($dateloca['nom'] . ' - ' .  $dateloca['prenom']); ?></td>
                    <td><div class="alindr"><?php display($dateloca['prixlocation']); ?></div></td>
                    <td><div class="alindr"><?php display($dateloca['caution']); ?></div></td>
                    <td><div class="alindr"><?php display($dateloca['litbaby']); ?></div></td>
                    <td><div class="alindr"><?php display($dateloca['linge']); ?></div></td>																								
                    <td><div class="alindr"><?php display($dateloca['PT']); ?></div></td>
                    <td><div class="alindr"><?php display($dateloca['Totalpaye']); ?></div></td>
                    <td><div class="alindr"><?php display($dateloca['Reste']); ?></div></td>																																								
                    <td><div class="alindr"><?php display($dateloca['restitution']); ?></div></td>
     
    </tr>';
     
    $i++;
    <?php
     
    }
    ?>
     
        </table>
    <br />
    <br />
    <br />
    <br />
    <?php
    }
    mysql_close($liendb);
    ?>
    J'ai essayé de déplacer le mais alors j'ai une page blanche

    Merci d'avance et bon week-end

  6. #6
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Billets dans le blog
    1
    Par défaut
    Cette partie est toujours fausse:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
     
    $i = 0;
     
            while($dateloca = mysql_fetch_assoc($result))
     
    {
    ?>
    $couleur = ($compteur % 2 == 0) ? "#CCCCCC" : "#FFFFFF";
      echo '<tr bgcolor="'.$couleur.'">
    Corrige le en:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
     
    $i = 0;
     
            while($dateloca = mysql_fetch_assoc($result))
     
    {
     
    $couleur = ($compteur % 2 == 0) ? "#CCCCCC" : "#FFFFFF";
      echo '<tr bgcolor="'.$couleur.'">
    
    ?>
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

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

Discussions similaires

  1. colorer une ligne sur deux dans une listbox
    Par Didpa dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 31/08/2010, 13h59
  2. Colorer une ligne sur deux d'un tableau
    Par mogz29 dans le forum Langage
    Réponses: 3
    Dernier message: 01/11/2009, 21h18
  3. Colorer une ligne sur deux dans plage de cellules
    Par JML62400 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/02/2009, 19h48
  4. Colorer une ligne sur deux d'un crosstab
    Par zibou7 dans le forum iReport
    Réponses: 0
    Dernier message: 26/11/2008, 16h26
  5. Colorer une ligne sur deux dans un tableau croisé
    Par markoBasa dans le forum iReport
    Réponses: 1
    Dernier message: 25/09/2008, 11h15

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