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 :

[SQL] Idée de feuille de style


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2006
    Messages : 304
    Par défaut [SQL] Idée de feuille de style
    J'ai un tableau qui contient les résultat d'une requete mysql et je dois faire une feuille de style qui me permet d'alterner deux couleurs cad la pemire ligne avec couleur1 et la Deuxieme avec couleur,la troisième avec couleur1...etc !
    vous pouvez m"aider !

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

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 931
    Par défaut
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $i = 0;
    while(ta boucle){
       if($i%2 == 0) $style = "f00";
       else          $style = "ff0";
     
       print '<div style="color:#'.$style.'">Texte</div>';
     
       $i++;
    }

  3. #3
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Citation Envoyé par Bisûnûrs
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $i = 0;
    while(ta boucle){
       if($i%2 == 0) $style = "f00";
       else          $style = "ff0";
     
       print '<div style="color:#'.$style.'">Texte</div>';
     
       $i++;
    }
    Je rendrais le code plus compact et supprimerais de ce fait une opération, en le codant comme ceci

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $tabStyle[]="f00";
    $tabStyle[]="ff0";
    $i = 0;
    while(ta boucle){
       print '<div style="color:#'.$tabStyle[++$i%2].'">Texte</div>';
    }

    La version ++$i%2 n'est pas forcément à conserver car pas très lisible mais s'il y a beaucoup de lignes on peut gagner un peu

  4. #4
    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 : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $tabStyle[]="c1";
    $tabStyle[]="c2";
    $i = 0;
    while(ta boucle){
       print '<div class="'.$tabStyle[++$i%2].'">Texte</div>';
    }

    Utilisons les CSS tant qu'à faire, il n'y aura plus besoin de bidouiller le code ensuite pour changer les couleurs, et nous pourrons aussi jouer sur la police, le padding, etc...

  5. #5
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2006
    Messages : 304
    Par défaut Idée de feuille de style
    "ta boucle" quelle boucle ?
    De plus est ce que je vais mettre ca dans les td da mon tableau!

  6. #6
    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 : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Citation Envoyé par Maria1505
    "ta boucle" quelle boucle ?


    Et tu comptes faire comment sans boucle sur ton curseur de résultats ?

    Je ne voudrait pas être blessant, tout le monde a été débutant et je ne le suis plus depuis peu de temps, mais il y a un minimum de documentation à consulter avant de se lancer.
    La base de l'interfacage php / MySQL est quand même à base de boucles sur un curseur de résultats.

    Je te conseille le livre de O'Reilly : "Pratique de MySQL et PHP" qui est très bien fait et qui m'a bien aidé à mes débuts.

  7. #7
    NoT
    NoT est déconnecté
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 237
    Par défaut
    Si t'es dans un tableau tu remplace les <div> par tes <tr> ( en éspérant ne pas te parler chinois ^^ )

    On te donne les éléments pour régler ton problème mais à toi de l'adapter.

  8. #8
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2006
    Messages : 304
    Par défaut Idée de feuille de style
    Merci pour la reponse mais voila mon programme :
    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
    <html>
    <body>
    <font color=orange><h3 align=center><u>Résultat</u></h3></font>
    <hr>
    <CENTER>
    <table border=1>
           <tr>
              <th>Nom</th>
              <th>Prenom</th>
              <th>CNE</th>
              <th>Age</th>
              <th>Moyenne</th>
                   </tr>
    <?
    if (mysql_connect("localhost","root","")>0)
    echo"";
    else echo "connexion impossible ";
    if(mysql_select_db("ensas")==true) 
    echo "<br> ";
    else "selection de la base impossible ";
    $choix1=$_POST['choix1'];
    $choix2=$_POST['choix2'];
    $valeur=$_POST['valeur'];
    $requete="SELECT * FROM g_info WHERE $choix1 $choix2 '$valeur'";
    $result=mysql_query($requete);
       do
         {
    ?>
           <tr>
              <td><? echo $enreg['NOM']; ?></td>
              <td><? echo $enreg['PRENOM']; ?></td> //c'est ca mon tableau d'affichage alors a votre avis qu'est ce que j dois mettre dans la boucle 
              <td><? echo $enreg['CNE']; ?></td>
              <td><? echo $enreg['Age']; ?></td>
              <td><? echo $enreg['Moyenne']; ?></td>
           </tr>
    <?
        }while($enreg=mysql_fetch_array($result));
    ?>
    </table>
    </center>
    </body>
    </html>

  9. #9
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Bonjour,

    Exactement ce que l'on a t'a expliqué un peu plus haut. A savoit mettre la partie classe dynamique dans le tr.

    En plus, il peut y avoir un problème avec ton script dans le cas ou la requete ne renvoie rien. Dans un cas comme cela, ton script afficera tout de même une ligne à cause du do. Il faut donc modifié également cette partie

    Comme ceci :

    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
     
    $requete="SELECT * FROM g_info WHERE $choix1 $choix2 '$valeur'";
    $result=mysql_query($requete);
    if (mysql_num_rows($result)>0){
        $i=0;
        $tabStyle[0]="c1";
        $tabStyle[1]="c2";
        while($enreg=mysql_fetch_array($result)){
           echo '<tr class="'.$tabStyle[++$i%2].'">';
           echo '<td>'.$enreg['NOM'].'</td>';
           echo '<td>'.$enreg['PRENOM'].'</td>';
           echo '<td>'.$enreg['CNE'].'</td>';
           echo '<td>'.$enreg['Age'].'</td>';
           echo '<td>'.$enreg['Moyenne'].'</td>';
           echo '</tr>';
        }
    }
    J'ai modifié également l'affichage des lignes car je n'aime pas trop ce mélange php/html

    Et dans le css, il faut rajouter un truc du genre
    Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    tr.c1{background-color:#ff0;}
    tr.c2{background-color:#f00;}

    Une autre remarque en passant. Au vu de ta requête, j'en déduis que la liste des conditions du where sont passé en $_GET ce qui n'est pas du tout sécurisé car une personne de mal intentionné pourrait s'amuser un peu avec ta requête pour obtenir des infos sur ta base/table/etc ... Pour plus d'infos je te conseille de faire une recherche sur "Injection SQL"

    Voilà

  10. #10
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2006
    Messages : 304
    Par défaut Idée de feuille de style
    Merci pour votre aide, mais j'ai jamais travailler avec des feuilles de style, alors ma question est ce que je vais ecrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    tr.c1{background-color:#ff0;}
    tr.c2{background-color:#f00;}
    dans un fichier.css, et est ce seulement ces deux lignes que je vais ecrire !

  11. #11
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2006
    Messages : 304
    Par défaut Idée de feuille de style
    Merci bcq j'ai trouver la réponse, mais j'aimerai bien que m'expliquiez ces deux dernières lignes si possible.merci d'avance

  12. #12
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2006
    Messages : 304
    Par défaut J'ai un petit prob je sais pas ou ?
    Donc voila j'ai mis les resultat d'une requte d'ans un tableau avec deux couleur qui s'alternent mais mon prob c que lorsque je met leresultat dde ce tableau dans un fichier, parce que soit je recupere les resultat sans couleur qui s'alternent(une seule slmt) soit le fichier est vide et les couleurs s'alternet pouver vs me dire que dois je faire !
    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>Recherche</title>
                <STYLE TYPE="text/css">
                      tr.c1{background-color:#FF00FF;}
                      tr.c2{background-color:#DDA0DD;}
                </style>
    </HEAD>
     
    <body>
    <font color=orange><h3 align=center><u>Résultat</u></h3></font>
    <hr>
    <CENTER>
    <table border=1>
           <tr>
              <th>Nom</th>
              <th>Prenom</th>
              <th>CNE</th>
              <th>Age</th>
              <th>Moyenne</th>
                    </tr>
    <?
    if (mysql_connect("localhost","root","")>0)
    echo"";
    else echo "connexion impossible ";
    if(mysql_select_db("ensas")==true) 
    echo "<br> ";
    else "selection de la base impossible ";
    $choix1=$_POST['choix1'];
    $choix2=$_POST['choix2'];
    $valeur=$_POST['valeur'];
    $requete="SELECT * FROM g_info WHERE Age<23";
    $result=mysql_query($requete);
    if (mysql_num_rows($result)>0)
    {
        $i=0;
        $tabStyle[0]="c1";
        $tabStyle[1]="c2";
    // ouverture initiale          
         if(!($handle = fopen("resultatSQL.txt", "w+"))) 
                       {
                       echo "Ecriture Impossible !";
                       die();
                       }
     
        while($enreg=mysql_fetch_array($result))
             {
     
                  echo '<tr class="'.$tabStyle[++$i%2].'">';
                  echo '<td>'.$enreg['NOM'].'</td>';
                  echo '<td>'.$enreg['PRENOM'].'</td>';
                  echo '<td>'.$enreg['CNE'].'</td>';
                  echo '<td>'.$enreg['Age'].'</td>';
                  echo '<td>'.$enreg['Moyenne'].'</td>';
                  echo '</tr>';
     
        // écriture incrémentée
          for($i = 0; $i < count($enreg); $i++)     
                  fwrite($handle, $enreg[$i] . " | ");
                        fwrite($handle, "\n");
     
             }
    // fermeture finale                       
         fclose($handle);
    }
     
    ?>
    </table>
    </center>
    </body>
    </html>

Discussions similaires

  1. [CR 10] Utiliser des feuilles de style
    Par Giovanny Temgoua dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 04/04/2005, 10h36
  2. Feuille de style avec XML (pour expert !)
    Par jer_the_one dans le forum Composants VCL
    Réponses: 8
    Dernier message: 11/08/2004, 08h48
  3. MSXML2, enchainer deux feuilles de Style
    Par burno dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 10/09/2003, 13h47
  4. feuille de style generale
    Par Manu_Just dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 11/03/2003, 10h06
  5. Rattacher une feuille de style a un XML existant
    Par aour dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 08/10/2002, 22h07

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