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 :

Colorisation lignes Table HTML


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut Colorisation lignes Table HTML
    Bonjour,

    J' ai un Array 2 dimentions
    $i = le N° de ligne
    $j = le N° de col
    chaque ligne a plusieurs colonnes
    la colonne de gauche contiens une incrémentation
    allant de 1 à 9 ce qui fait un bloc, et on recommence
    et, le bloc part toujours de 1 mais peut s'arreter
    a 6, 7, 8, ou 9

    Ce que je voudrais, c'est que chaque bloc quelque soit
    le nombre de lignes, change de couleur alternativement
    dans l'affichage de la table HTML.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    for $i
    for $j
    echo '<td>'.$tab_f[$j][4].'</td>';
    ...
    fin $j
    fin $i
    C'est certainement plus dur a expliquer que de trouver
    la bonne routine

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu peux provoquer le changement de couleur a chaque début de série :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $color = 1;
    $colorlist = array(0=>"#AAAAAA", 1=>"CCCCCC");
    .....
    ta boucle de tableau {
     
        if ($index == 1) { $color = !$color; }
       echo '<td style="background-color : '  . $colorlist[$color] . ';">aaa</td>';
     
    ....
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    Bonsoir sabotage,

    Mon Array ce présente 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
     
    // Déclaration du tableau 400 Lignes, 15 Colonnes
    //**********************************************
    $j=1; $i=1; $k=0; $h=0;
    while ($i<400)
    	{
    	 $i=$i+1;
    	 for ( $u=1; $u<15; $u++ )
    		 {
    		  $tab_f[$i][$j]="";
    		  $j++; $h++;
    		 }
    	 $j=1; $k=$k+2; $h++;
    	}
    Comment adapter ton code ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Au moment de l'affichage plutot non ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    Bien sur au moment de l'affichage

    Mais je n'arrive pas a détecter le changement
    de bloc pour alterner les couleurs.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Y'a pas d'affichage dans ce que tu nous montres.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    si : echo '<td>'.$tab_f[$j][4].'</td>';

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Par défaut
    C'est pas dans ce que tu nous a montré

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu te moques de moi je pense.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    Regardez mon premier post !

  11. #11
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 453
    Par défaut
    Heu depuis quand fin $i, fin $j existe en php ???

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    C'étais pour abréger le code... les acolades et tout...

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    Voici le code complèt de la table
    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
     
    for ($i=1; $i<($taille)/3; $i++);  
    	{
    	 for ($j=1; $j<$taille/3+1; $j++) 
    		{
    		 if ( $tab_f[$j][1] <> "" )
    			{
    			 echo '<tr>';
    			 echo '<td>'.$tab_f[$j][1].'</td>';
    			 echo '<td>'.$tab_f[$j][2].'</td>';
    			 echo '<td align="CENTER">'.$tab_f[$j][3].'</td>';
    			 echo '<td>'.$tab_f[$j][4].'</td>';
    			 echo '<td>'.$tab_f[$j][5].'</td>';
    			 echo '<td align="CENTER">'.$tab_f[$j][6].'</td>';
    			 echo '<td>'.$tab_f[$j][7].'</td>';
    			 echo '<td>'.$tab_f[$j][8].'</td>';
    			 echo '<td>'.$tab_f[$j][9].'</td>';
    			 echo '<td>'.$tab_f[$j][10].'</td>';
    			 echo '<td>'.$tab_f[$j][11].'</td>';
    			 echo '<td>'.$tab_f[$j][12].'</td>';
    			 echo '</tr>';	
    			}
    		}
    		$j=1;
    	}
     
    // Fin tableau
    echo '</table>';

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    En relisant toute la discution, je m'apperçoit
    que j'ai mal expliqué ce que je voulais faire,
    quand je dis alternativement, je ne veut pas
    changer la couleur une ligne sur deux (cela je
    sais faire)
    Mais changer alternativement la couleur des blocs
    qui commencent par 1 (chaque bloc peut comporter
    1 ou plusieurs lignes) exemple :
    -ligne 01 : 1
    -ligne 02 : 2
    -ligne 03 : 1
    -ligne 04 : 2
    -ligne 05 : 3
    -ligne 06 : 4
    -ligne 07 : 1
    -ligne 08 : 2
    -ligne 09 : 3

    Vlolà, les chiffres en rouge déterminent le changement
    de couleur du bloc.

    J'espère que ces précisions vous permettrons de mieux
    situer mon soucis.

  15. #15
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 127
    Par défaut Changement de couleur
    Donc la synthèse de tous les éléments ca donnerait

    En début de ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    for ($i=1; $i<($taille)/3; $i++);  
    	{
    	 for ($j=1; $j<$taille/3+1; $j++) 
    		{
    		 if ( $tab_f[$j][1] <> "" )
    			{
    if ($tab_f[$j][1]==1) 
    {echo "<tr style='background-color:red'>";}
    else
    {echo '<tr>';}
    ....
    J'ai bon ?

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    Hélas mkweb,

    Merci pour le code mais

    Mon tableau est entièrement rouge !!!

  17. #17
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 127
    Par défaut Certe
    Ah alors quel est l'indice de $tab_f[$j][...] qui va déterminer si la ligne est rouge ?
    Est ce que la comparaison se fait sur un numérique ==1 ou une chaine =='1'
    Avec ces modifications que tu peux faire, ça ne marche pas ?

  18. #18
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    Bonjour,
    Je viens juste de trouver

    le test c'est quand $tab_f[$j][1] == 1
    la j'incrémente $fond
    j'affiche alternativement la couleur quand pair ou impair
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    echo '<tr>';
    if ( $tab_f[$j][3] == 1 ) { $fond++; }
      if( $fond/2 == round($fond/2))
    {
     echo '<td '.$coul2.'>'.$tab_f[$j][1].'</td>';
    else // pareil avec $coul1
    C'est peut être un peu tordu mais cela fonctionne

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

Discussions similaires

  1. Supprimer une ligne d'une table html dans une page jsp
    Par dev_newbie dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 30/04/2013, 14h01
  2. Réponses: 9
    Dernier message: 05/11/2012, 16h28
  3. Réponses: 13
    Dernier message: 30/06/2011, 18h33
  4. Conversion de tableau EXCEL vers table HTML en ligne
    Par superccman dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 10/01/2010, 11h55
  5. Intervertir les lignes d'une table HTML
    Par WG614 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 27/08/2008, 11h10

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