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 :

Affichage donnée table mysql


Sujet :

Langage PHP

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 24
    Points
    24
    Par défaut Affichage donnée table mysql
    Bonjour,

    Je rencontre un problème pour afficher une valeur de ma table mysql

    Les autres champs s'affichent correctement par contre le champ "etat" ne s'affiche pas

    J'ai dans mon script php définit une valeur par défaut pour ce champ

    Voici donc le message d'erreur quand j'essaye d'afficher les données de ma table:Notice: Undefined index: etat in c:\program files\easyphp1-7\www\testaffichage.php on line 57

    et voici mon 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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
    <html>
    <title>Demandes d'entrée</title>
    <body>
     
      <link href="test.css" rel="stylesheet" type="text/css">
    </head>
     
     
    <body bgcolor="#FFFFF0">
     
    <p class="titre"> Suivi Demande D'entrée </p>
     
    <?
    // information pour la connection à la DB
    $host = 'localhost';
    $user = 'root';
    $pass = '';
    $db = 'formulaire';
     
    // connection à la DB
    $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
    mysql_select_db($db) or die ('Erreur :'.mysql_error());
     
    // requête SQL qui compte le nombre total d'enregistrement dans la table et qui
    //récupère tous les enregistrements
    $select = 'SELECT nom,prenom,service,date,demandeur FROM formentree';
    $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
    $total = mysql_num_rows($result);
     
     
    // si on a récupéré un résultat on l'affiche.
    if($total) {
        // debut du tableau
     
        echo '<table bgcolor="#FFFFFF">'."\n";
            // première ligne on affiche les titres prénom et surnom dans 2 colonnes      
            echo '<tr>';
          echo '<th WIDTH=180 bgcolor="#669999">NOM</th>';
          echo '<th WIDTH=180 bgcolor="#669999">Prenom</th>';
          echo '<th WIDTH=180 bgcolor="#669999">Service</th>';
          echo '<th WIDTH=180 bgcolor="#669999">Date d entrée</th>';
          echo '<th WIDTH=180 bgcolor="#669999">Demandeur</th>';
          echo '<th WIDTH=180 bgcolor="#669999">Etat</th>';
     
     
     
          echo '</tr>'."\n";
        // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.    
        while($row = mysql_fetch_array($result)) {
            echo '<tr>';
     
            echo '<td bgcolor="#A4D8EE">'.$row["nom"].'</td>';
            echo '<td bgcolor="#A4D8EE">'.$row["prenom"].'</td>';
            echo '<td bgcolor="#A4D8EE">'.$row["service"].'</td>';
            echo '<td bgcolor="#A4D8EE">'.$row["date"].'</td>';
            echo '<td bgcolor="#A4D8EE">'.$row["demandeur"].'</td>';
            echo '<td bgcolor="#A4D8EE">'.$row["etat"].'</td>';
            echo '</tr>'."\n";
        }
        echo '</table>'."\n";
        // fin du tableau.
    }
    else echo 'Pas d\'enregistrements dans cette table...';
     
    // on libère le résultat
    mysql_free_result($result);
     
    ?>
    </body>
    </html>
    D'avance merci pour votre aide

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Il n'y a pas le champs Etat dans ta requete.

    Au passage le mot "date" est reservé en Mysql, il ne faut pas l'utiliser pour un champs.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut
    Bonjour,

    Dans ta requête, tu ne ramènes pas ton champ etat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT nom,prenom,service,date,demandeur FROM formentree

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 24
    Points
    24
    Par défaut
    Oups j'avais pas vu merci bcp

    En parlant du champs date pouvez vous me rappeler comment formater correctement le champ date car apparemment en sql c'est le format américain....

    Merci d'avance

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 24
    Points
    24
    Par défaut
    Je tente également d'afficher un lien modifier pour chaque ligne afficher afin de pourvoir modifier les enregistrements mais ça ne marche pas

    voici mon 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
    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
     
     
    <html>
    <title>Demandes d'entrée</title>
    <body>
     
      <link href="test.css" rel="stylesheet" type="text/css">
    </head>
     
     
    <body bgcolor="#FFFFF0">
     
    <p class="titre"> Suivi Demande D'entrée </p>
     
    <?
    // information pour la connection à la DB
    $host = 'localhost';
    $user = 'root';
    $pass = '';
    $db = 'formulaire';
     
    // connection à la DB
    $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
    mysql_select_db($db) or die ('Erreur :'.mysql_error());
     
    // requête SQL qui compte le nombre total d'enregistrement dans la table et qui
    //récupère tous les enregistrements
    $select = 'SELECT nom,prenom,service,date,demandeur,etat FROM formentree';
    $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
    $total = mysql_num_rows($result);
     
     
    // si on a récupéré un résultat on l'affiche.
    if($total) {
        // debut du tableau
     
        echo '<table bgcolor="#FFFFFF">'."\n";
     
            // première ligne on affiche les titres 6 colonnes      
            echo '<tr>';
          echo '<th WIDTH=180 bgcolor="#669999">Nom</th>';
          echo '<th WIDTH=180 bgcolor="#669999">Prenom</th>';
          echo '<th WIDTH=180 bgcolor="#669999">Service</th>';
          echo '<th WIDTH=180 bgcolor="#669999">Date d entrée</th>';
          echo '<th WIDTH=180 bgcolor="#669999">Demandeur</th>';
          echo '<th WIDTH=180 bgcolor="#669999">Etat de la demande</th> ';
     
     
     
     
          echo '</tr>'."\n";
        // lecture et affichage des résultats sur 6 colonnes, 1 résultat par ligne.    
        while($row = mysql_fetch_array($result)) {
            echo '<tr>';
     
            echo '<td bgcolor="#A4D8EE">'.$row["nom"].'</td>';
            echo '<td bgcolor="#A4D8EE">'.$row["prenom"].'</td>';
            echo '<td bgcolor="#A4D8EE">'.$row["service"].'</td>';
            echo '<td bgcolor="#A4D8EE">'.$row["date"].'</td>';
            echo '<td bgcolor="#A4D8EE">'.$row["demandeur"].'</td>';
            echo '<td bgcolor="#A4D8EE">'.$row["etat"].'</td>';
            echo '<td <a href=\"modification2.php?idPersonne=".$result->id_personne."\">modifier</a><br>\n"</td>';
     
            echo '</tr>'."\n";
        }
        echo '</table>'."\n";
        // fin du tableau.
    }
    else echo 'Pas d\'enregistrements dans cette table...';
     
    // on libère le résultat
    mysql_free_result($result);
     
    ?>
    </body>
    </html>
    UN grand merci pour votre aide

  7. #7
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Comme tu le vois a la colorisation syntaxique, tes guillemets ne sont pas bons
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     echo '<td><a href="modification2.php?idPersonne='.$result->id_personne.'\">modifier</a>' . "\n" .'</td>";
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 24
    Points
    24
    Par défaut
    J'ai enlevé le guillement devant >modifier mais ça ne fonctionne toujours pas

    Merci

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as juste enlevé le guillemet ou tu as repris ma ligne ?

    Est-ce que tu as fais un minimum de debugage du côté de modification2.php ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 24
    Points
    24
    Par défaut
    J'ai copié ta ligne et j'ai le message d'erreur suivant

    Parse error: parse error, unexpected '/' in c:\program files\easyphp1-7\www\testaffichage.php on line 63

    merci

  11. #11
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu vois que tu as bien fait, je m'etais planté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<td><a href="modification2.php?idPersonne='.$result->id_personne.'\">modifier</a>' . "\n" .'</td>';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 24
    Points
    24
    Par défaut
    Impec ça marche

    Est ce que tu saurais avec mon code alterner l'affichage d'une couleur une ligne sur deux

    L'idée c'est de mettre une ligne grise puis il ligne bleu puis de nouveau une ligne grise puis une ligne bleu et ainsi de suite

    As tu une idée ?

    D'avance merci pour tout

  13. #13
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut
    Bonjour,

    Avant ton while, tu initialises une variable à 1.

    Dans ton while tu testes si ta variable est divisible par 2. En fonction de la divisibilité ou non, tu attribues une couleur particulière à ta ligne. En fin de boucle, tu incrémentes ta variable. Le tour est joué.

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 24
    Points
    24
    Par défaut
    Euh est ce que tu peux préciser car je suis tout juste débutant en php

    D'avance merci

  15. #15
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $cpt = 1;
     
    while($row = mysql_fetch_array($result)) {
     if($cpt % 2 == 0)
      echo "<tr bgcolor='taCouleur1'>";
     else
      echo "<tr bgcolor='taCouleur2'>";
     
     $cpt++;
     
     echo '<td bgcolor="#A4D8EE">'.$row["nom"].'</td>';
     ...

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 24
    Points
    24
    Par défaut
    J'ai ajouté ton code mais ça ne change pas les couleurs des lignes:

    Voici

    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
     
     
     // debut du tableau
     
        echo '<table bgcolor="#FFFFFF">'."\n";
     
            // première ligne on affiche les titres 6 colonnes      
            echo '<tr>';
          echo '<th WIDTH=180 aling=left font color="#FF0000" bgcolor="#0050FF">Nom</th>';
          echo '<th WIDTH=180 bgcolor="#B0C4DE" <font color="#FF0000">Prenom</font></th>';
          echo '<th WIDTH=180 bgcolor="#669999">Service</th>';
          echo '<th WIDTH=180 bgcolor="#669999">Date d entrée</th>';
          echo '<th WIDTH=180 bgcolor="#669999">Demandeur</th>';
          echo '<th WIDTH=180 bgcolor="#669999">Etat de la demande</th> ';
     
     
    // <font color=#"la couleur par defaut" size="la taille par defaut" face="la polis par defaut"> 
     
     
          echo '</tr>'."\n";
     
    $cpt = 1;
     
        // lecture et affichage des résultats sur 6 colonnes, 1 résultat par ligne.    
        while($row = mysql_fetch_array($result)) {
     
    if($cpt % 2 == 0)
      echo "<tr bgcolor='#D3D3D3'>";
     else
      echo "<tr bgcolor='#B0C4DE'>";
     
     $cpt++;
     
     
            echo '<td bgcolor="#D3D3D3">'.$row["nom"].'</td>';
            echo '<td bgcolor="#D3D3D3">'.$row["prenom"].'</td>';
            echo '<td bgcolor="#D3D3D3">'.$row["service"].'</td>';
            echo '<td bgcolor="#D3D3D3">'.$row["date"].'</td>';
            echo '<td bgcolor="#D3D3D3">'.$row["demandeur"].'</td>';
            echo '<td bgcolor="#D3D3D3">'.$row["etat"].'</td>';        
            echo '<td><a href="modification2.php?idPersonne='.$result->id_personne.'\"><img src="img/detail.png" border=0 width=15 height=15 alt="Modifier"></a></td>';       
     
     //     echo '<td><a href="modification2.php?idPersonne='.$result->id_personne.'\"<img src="img/detail.png" border=0 width=15 height=15 alt="Modifier"></a></td>';
     
            echo '</tr>'."\n";
        }
        echo '</table>'."\n";
        // fin du tableau.
    Merci

  17. #17
    Membre averti
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Points : 356
    Points
    356
    Par défaut
    Pourquoi redéfinis-tu tes couleurs de fond au niveau de tes cellules alors que tu l'a définie au niveau de ta ligne? Dès lors, la couleur de fond de ta ligne est écrasée par celle définie au niveau de la cellule (c'est vrai que moi-même j'avais omis de l'enlever lors du copier-coller)!



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if($cpt % 2 == 0)
      echo "<tr bgcolor='#D3D3D3'>";
     else
      echo "<tr bgcolor='#B0C4DE'>";
    puis tu fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo '<td bgcolor="#D3D3D3">'.$row["nom"].'</td>';
            echo '<td bgcolor="#D3D3D3">'.$row["prenom"].'</td>';
    Ta couleur sera donc toujours #D3D3D3

    Supprime donc la couleur de fond au niveau de ta cellule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<td>'.$row["nom"].'</td>';

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 24
    Points
    24
    Par défaut
    OK nikel ça marche

    Merci pour tout

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

Discussions similaires

  1. Affichage des données d'une table MySQL dans un ListView selon l'id
    Par loviso dans le forum Composants graphiques
    Réponses: 0
    Dernier message: 30/07/2012, 16h28
  2. affichage des données d'une table mysql
    Par chrisl0 dans le forum Langage
    Réponses: 1
    Dernier message: 05/02/2009, 18h21
  3. [MySQL] problème affichage donnée php mysql
    Par tondeuz dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 22/06/2007, 12h16
  4. Réponses: 2
    Dernier message: 15/12/2006, 10h31
  5. [débutant] problème affichage données table ds TDBGrid
    Par lidouka dans le forum Composants VCL
    Réponses: 1
    Dernier message: 16/12/2005, 13h50

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