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 :

alternance des couleurs de ligne lors de l'affichage des enregistrement en php


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de ledisciple
    Homme Profil pro
    observateur de nuage niveau 2.3
    Inscrit en
    Août 2008
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : observateur de nuage niveau 2.3

    Informations forums :
    Inscription : Août 2008
    Messages : 860
    Points : 723
    Points
    723
    Par défaut alternance des couleurs de ligne lors de l'affichage des enregistrement en php
    Bonjour a tous !!

    j'aimerai savoir comment peut-on faire pour qu'il puisse y avoir une alternanace de couleurs entre chaque ligne d'un tableau qui répondrai a une requete sql?

    ex : une ligne rouge, une ligne bleu, une ligne roue etc etc ...

    de plus, peut-on piloter les couleurs directement par une feuille css?

    merci d'avance
    _____________________________________________
    Tours Football Club - Turonorum Civitas Libera

    Content pas content de ma réponse? N'hésitez pas votez !!

  2. #2
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    -->de plus, peut-on piloter les couleurs directement par une feuille css?

    Tu veux dire, est-ce que ton code php peut inscrire directement des modifs dans ta feuille css ? Non, à ma connaissance.

    -->Si tu nous mets le code de ta requête, ce sera plus simple, mais en gros, voici comment tu peux procéder en bouclant sur chaque résultat de ta requête (je te mets ce qui me vient à l'esprit en premier, je suis une fan de flag lol) :
    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
     
    <?php
    $flag='pair';
    echo'<table>';
    while ($data = mysql_fetch_array($req)) { 
    	switch($flag){
    	case'pair':
    		echo '<tr><td class="gris">Nom : '.$data['nom'].'</td></tr>'; 
    		$flag='impair';
    	break;
    	case'impair':
    		echo '<tr><td class="rose">Nom : '.$data['nom'].'</td></tr>'; 
    		$flag='pair';
    	}
    } 
    echo'</table>'; 
    ?>
    et bien sûr, dans ta feuille css externe, tu définis tes classes gris et rose...

    .gris{
    background-color:grey;
    }
    .rose{
    background-color:pink;
    }
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  3. #3
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Bonjour,

    http://php.developpez.com/faq/?page=...ner_couleur_tr

    J'ose à peine le dire : j'ai obtenu ce lien en recherchant "alterner les couleurs" dans cet excellent site...

    • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
    • Merci d'utiliser les balises de code (# dans l'éditeur)
    • N'oubliez pas de vous servir des boutons , et

    S.N.A.F.U

  4. #4
    Membre émérite Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Points : 2 444
    Points
    2 444
    Par défaut
    Citation Envoyé par ledisciple Voir le message
    j'aimerai savoir comment peut-on faire pour qu'il puisse y avoir une alternanace de couleurs entre chaque ligne d'un tableau qui répondrai a une requete sql?
    C'est techniquement possible via une pseudo-classe CSS3 (:nth-child) mais
    malheureusement pas encore implémentée sur IE7 et Firefox contrairement à
    Opera et Safari qui sont en avance à ce niveau là.

    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tr:nth-child(odd) {background: #555}
    tr:nth-child(even) {background: #999}
    La première déclaration sélectionne toutes les lignes de rang impair et la seconde de rang pair.

  5. #5
    Candidat au Club
    Inscrit en
    Octobre 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Essaye ça :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function colorSwhitcher($i)
    {
    	$blue  = 'blue';
    	$green = 'green' ;
     
    	if ( ($i % 2) == 0 ) {
    		return $blue;
    	} else {
    		return $green;
    	}
    }

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Et en PHP :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if ( $i % 2 == 0 ) {
       // Pair
    }
    else {
       // Impair
    }

  7. #7
    Membre éclairé Avatar de ledisciple
    Homme Profil pro
    observateur de nuage niveau 2.3
    Inscrit en
    Août 2008
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : observateur de nuage niveau 2.3

    Informations forums :
    Inscription : Août 2008
    Messages : 860
    Points : 723
    Points
    723
    Par défaut
    Merci a tous pour votre participation. C'est vrai que ça s'inspire du principe du compteur.

    la variable $couleurs_lignes_tableau= 0; se trouve dans le include('templates/haut_de_page.php') présent au début de chaque page.
    pour ceux que ça intéresse voici le code fini

    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
     
    <?
    include('templates/haut_de_page.php')
    ?>
     
     
    <p class="titre_page">Les resultats par equipe</p>
     
    <table align="center" width="96%">
    <tr>	<td width="16%" class="titre_col_tableaux">
    		<a href="resultat_par_equipe.php?&tri_nom_equipe=nom_equipe&tri_num_equipe=num_equipe">Nom</a></td>
    		<td width="16%" class="titre_col_tableaux">
    		<a href="resultat_par_equipe.php?&tri_nom_equipe=vide&tri_num_equipe=num_equipe">Numéro</a></td>
    		<td width="16%" class="titre_col_tableaux">Nombre de matchs</td>
    		<td width="16%" class="titre_col_tableaux">Victoires</td>
    		<td width="16%" class="titre_col_tableaux">Nuls</td>
    		<td width="16%" class="titre_col_tableaux">Défaites</td>
     
    </tr>
    </table>
    <?
    $tri_nom_equipe=$_GET["tri_nom_equipe"];
    $tri_num_equipe=$_GET["tri_num_equipe"];
    ?>
    <?
    $db = mysql_connect('localhost', 'root', ''); 
     
    mysql_select_db('football',$db);
     
     
    if($tri_nom_equipe == 'nom_equipe')
    {
    $sql_nom_equipe= "SELECT equipes.nom_equipe as nom_equipe, equipes.num_equipe as num_equipe, count( resultats.num_equipe ) , sum( resultats.nombre_victoires ) , sum( resultats.nombre_defaites ) , sum( resultats.nombre_nuls ) 
    FROM equipes
    JOIN resultats ON equipes.num_equipe = resultats.num_equipe
    group by '$tri_nom_equipe'
    ORDER BY '$tri_nom_equipe'";
     
    $req = mysql_query($sql_nom_equipe) or die('Erreur SQL !<br>'.$sql_nom_equipe.'<br>'.mysql_error()); 
     
    while($data = mysql_fetch_assoc($req)) 
        { 
     
    echo '<table align="center" width="96%">
    <tr>	<td width="16%" class="ligne'.($couleurs_lignes_tableau % 2).'">'.$data['nom_equipe'].'</td>
    		<td width="16%" class="ligne'.($couleurs_lignes_tableau % 2).'">'.$data['num_equipe'].'</td>
    		<td width="16%" class="ligne'.($couleurs_lignes_tableau % 2).'">'.$data['count( resultats.num_equipe )'].'</td>
    		<td width="16%" class="ligne'.($couleurs_lignes_tableau % 2).'">'.$data['sum( resultats.nombre_victoires )'].'</td>
    		<td width="16%" class="ligne'.($couleurs_lignes_tableau % 2).'">'.$data['sum( resultats.nombre_nuls )'].'</td>
    		<td width="16%" class="ligne'.($couleurs_lignes_tableau % 2).'">'.$data['sum( resultats.nombre_defaites )'].'</td>
    
    </tr>
    </table>';
    $couleurs_lignes_tableau++;
    }}
     
    elseif($tri_num_equipe == 'num_equipe')
    {
    $sql_num_equipe = "SELECT equipes.nom_equipe as nom_equipe, equipes.num_equipe as num_equipe, count( resultats.num_equipe ) , sum( resultats.nombre_victoires ) , sum( resultats.nombre_defaites ) , sum( resultats.nombre_nuls )
    FROM equipes
    JOIN resultats ON equipes.num_equipe = resultats.num_equipe
    group by '$tri_num_equipe'
    ORDER BY '$tri_num_equipe'";
     
     
    $req = mysql_query($sql_num_equipe) or die('Erreur SQL !<br>'.$sql_num_equipe.'<br>'.mysql_error()); 
     
    while($data = mysql_fetch_assoc($req)) 
        { 
     
    echo '<table align="center" width="96%">
    <tr>	<td width="16%" class="ligne'.($couleurs_lignes_tableau % 2).'">'.$data['nom_equipe'].'</td>
    		<td width="16%" class="ligne'.($couleurs_lignes_tableau % 2).'">'.$data['num_equipe'].'</td>
    		<td width="16%" class="ligne'.($couleurs_lignes_tableau % 2).'">'.$data['count( resultats.num_equipe )'].'</td>
    		<td width="16%" class="ligne'.($couleurs_lignes_tableau % 2).'">'.$data['sum( resultats.nombre_victoires )'].'</td>
    		<td width="16%" class="ligne'.($couleurs_lignes_tableau % 2).'">'.$data['sum( resultats.nombre_nuls )'].'</td>
    		<td width="16%" class="ligne'.($couleurs_lignes_tableau % 2).'">'.$data['sum( resultats.nombre_defaites )'].'</td>
    
    </tr>
    </table>';
    $couleurs_lignes_tableau++;
    }}
     
    mysql_close(); 
    ?>
     
     
    <? include('templates/bas_de_page.php') ?>
    _____________________________________________
    Tours Football Club - Turonorum Civitas Libera

    Content pas content de ma réponse? N'hésitez pas votez !!

  8. #8
    Membre averti Avatar de mdr_cedrick
    Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2008
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2008
    Messages : 374
    Points : 336
    Points
    336
    Par défaut
    et dans la série du "mec qui vient mettre un message pour pas grand chose" il y a aussi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return ($i % 2 == 0) ? 'pair' : 'impair';
    Pour voir qu'il fait noir, on n'a pas besoin d'être une lumière

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/11/2012, 09h49
  2. Réponses: 2
    Dernier message: 03/12/2008, 17h46
  3. affichage des numeros de lignes et couleurs des parenthèses
    Par deubelte dans le forum Visual C++
    Réponses: 1
    Dernier message: 04/09/2007, 11h40
  4. comment donner des couleurs au ligne d'un DBgrid
    Par tchimou dans le forum Bases de données
    Réponses: 1
    Dernier message: 16/05/2007, 01h50

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