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 des données de la base


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Agriculteur
    Inscrit en
    Mars 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Agriculteur
    Secteur : Alimentation

    Informations forums :
    Inscription : Mars 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Affichage des données de la base
    Bonjour j'ai un soucis sur une de mes pages. En fait je souhaiterais afficher des données d'une de mes BDD. Et ca ne marche pas voici le 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
    <?php
    // information pour la connection à le DB
    include("./configmess.php")
     
    // 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 id,nom,prenom,societe,email,telephone,adresse,adressebis,ville,codepostal,commentaires FROM donnees';
    $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 '<td bgcolor="#669999"><b><u>Id</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>Nom</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>Prénom</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>Société</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>E-mail</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>Téléphone</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>Adresse</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>Adresse2</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>Ville</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>Code Postal</u></b></td>';
            echo '<td bgcolor="#669999"><b><u>Message</u></b></td>' ;
            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="#CCCCCC">'.$row["id"].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row["nom"].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row["prenom"].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row["societe"].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row["email"].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row["telephone"].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row["adresse"].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row["adressebis"].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row["ville"].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row["codepostal"].'</td>';
            echo '<td bgcolor="#CCCCCC">'.$row["commentaires"].'</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);
     
    ?>
    Merci d'avance pour votre aide.

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    "ça ne marche pas" n'est pas très informatif !
    Tu obtiens quoi ? Page blanche, message d'erreur...

    J'ai repris ton 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
    <?php
    // information pour la connection à le DB
    include("./configmess.php");  // ici tu avais oublié le ; de fin
     
    // 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 id, nom, prenom, societe, email, telephone, adresse, adressebis, ville, codepostal, commentaires FROM donnees';
    // inutile de passer la connexion, mysql_query utilise la dernière ouverte
    $result = mysql_query($select) or die ('Erreur : '.mysql_error() );
    $total  = mysql_num_rows($result);
     
    // si on a récupéré un résultat on l'affiche.
    if ($total)
    {
        echo
    <<<HTML
    <table bgcolor="#FFFFFF">
        <tr>
            <td bgcolor="#669999"><b><u>Id</u></b></td>
            <td bgcolor="#669999"><b><u>Nom</u></b></td>
            <td bgcolor="#669999"><b><u>Prénom</u></b></td>
            <td bgcolor="#669999"><b><u>Société</u></b></td>
            <td bgcolor="#669999"><b><u>E-mail</u></b></td>
            <td bgcolor="#669999"><b><u>Téléphone</u></b></td>
            <td bgcolor="#669999"><b><u>Adresse</u></b></td>
            <td bgcolor="#669999"><b><u>Adresse2</u></b></td>
            <td bgcolor="#669999"><b><u>Ville</u></b></td>
            <td bgcolor="#669999"><b><u>Code Postal</u></b></td>
            <td bgcolor="#669999"><b><u>Message</u></b></td>
        </tr>
    HTML;
        while ($row = mysql_fetch_assoc($result))
        {
            // on échappe les données en un seul passage
            $row = array_map('htmlentities', $row);
            echo
    <<<HTML
        <tr>
            <td bgcolor="#CCCCCC">{$row['id']}</td>
            <td bgcolor="#CCCCCC">{$row['nom']}</td>
            <td bgcolor="#CCCCCC">{$row['prenom']}</td>
            <td bgcolor="#CCCCCC">{$row['societe']}</td>
            <td bgcolor="#CCCCCC">{$row['email']}</td>
            <td bgcolor="#CCCCCC">{$row['telephone']}</td>
            <td bgcolor="#CCCCCC">{$row['adresse']}</td>
            <td bgcolor="#CCCCCC">{$row['adressebis']}</td>
            <td bgcolor="#CCCCCC">{$row['ville']}</td>
            <td bgcolor="#CCCCCC">{$row['codepostal']}</td>
            <td bgcolor="#CCCCCC">{$row['commentaires']}</td>
        </tr>
    HTML;
        }
        echo '</table>'
    }
    else
    {
        echo 'Pas d\'enregistrements dans cette table...';
    }
    Et voici quelques conseils :
    - avoir une table nommée donnees c'est pas très parlant : on se doute que tu manipules des données...,
    - tu devrais sortir le formatage de ton tableau dans un fichier .css (cela t'éviterait de trimbaler partout bgcolor=,
    - tu ne devrais plus utiliser les fonctions mysql_() car elles sont obsolètes, tu devrais passer à mysqli_ ou PDO,
    - inutile de clôturer la connexion, PHP le fait pour toi et de manière bien plus rapide,
    - soigne la présentation de ton code et utilise au maximum les possibilités de formatage offertes par PHP pour préserver la lisibilité du code source : notation heredoc,
    - pour éviter d'avoir des problèmes de sécurité : pense à échapper les données que tu affiches sur ta page avec htmlspecialchars() ou htmlentities()

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Agriculteur
    Inscrit en
    Mars 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Agriculteur
    Secteur : Alimentation

    Informations forums :
    Inscription : Mars 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    J'ai essayé ton code et ça ne fontionne pas non plus.

    Le mien affiche une page blanche avec écrit :

    '."\n"; // première ligne on affiche les titres prénom et surnom dans 2 colonnes echo ''; echo 'Id'; echo 'Nom'; echo 'Prénom'; echo 'Société'; echo 'E-mail'; echo 'Téléphone'; echo 'Adresse'; echo 'Adresse2'; echo 'Ville'; echo 'Code Postal'; echo 'Message' ; echo ''."\n"; // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne. while($row = mysql_fetch_array($result)) { echo ''; echo ''.$row["id"].''; echo ''.$row["nom"].''; echo ''.$row["prenom"].''; echo ''.$row["societe"].''; echo ''.$row["email"].''; echo ''.$row["telephone"].''; echo ''.$row["adresse"].''; echo ''.$row["adressebis"].''; echo ''.$row["ville"].''; echo ''.$row["codepostal"].''; echo ''.$row["commentaires"].''; echo ''."\n"; } echo ''."\n"; // fin du tableau. } else echo 'Pas d\'enregistrements dans cette table...'; // on libère le résultat mysql_free_result($result); ?>
    Et le tien une page blanche avec écrit :

    Id Nom Prénom Société E-mail Téléphone Adresse Adresse2 Ville Code Postal Message HTML; while ($row = mysql_fetch_assoc($result)) { // on échappe les données en un seul passage $row = array_map('htmlentities', $row); echo << {$row['id']} {$row['nom']} {$row['prenom']} {$row['societe']} {$row['email']} {$row['telephone']} {$row['adresse']} {$row['adressebis']} {$row['ville']} {$row['codepostal']} {$row['commentaires']} HTML; } echo '' } else { echo 'Pas d\'enregistrements dans cette table...'; } ?>

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    si tu vois ça, c'est que tu n'as pas probablement correctement installé PHP. Il semble que tes scripts ne soient pas interprétés.
    Est ce que tu peux créer un script index.php avec ceci dedans
    et l'appeler via quelque chose du genre : http://localhost/index.php (à adapter selon ta configuration) et dire si tu obtiens quelque chose.

    Et le plus simple dans ton cas, c'est d'utiliser wamp (sous windows) qui prémâche tous les aspects liés à la configuration.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Agriculteur
    Inscrit en
    Mars 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Agriculteur
    Secteur : Alimentation

    Informations forums :
    Inscription : Mars 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    J'obtiens une page avec beaucoup d'infos.

    Voici le lien de ce que ça affiche si tu veux :

    http://www.loucasaudebethloc.com/essaiscript.php

  6. #6
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    OK, corrige la ligne 57 car j'ai oublié un ; à la fin et réessaie Ensuite, essaie de voir s'il est possible chez ton hébergeur de passer à une version de PHP plus récente car la 5.2.17 date déjà un peu.

Discussions similaires

  1. [C#] Affichage des données d'une base de données à travers un Datagrid
    Par Me,Myself and I dans le forum Windows Forms
    Réponses: 3
    Dernier message: 23/02/2007, 16h38
  2. [Tableaux] affichage des données d'une base
    Par Nickwell dans le forum Langage
    Réponses: 1
    Dernier message: 29/09/2006, 17h14
  3. [Conception] affichage des données de la base en cilquant sur un lien
    Par katie dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 22/09/2006, 23h41
  4. [MySQL] Affichage des données d'une base
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 30
    Dernier message: 01/02/2006, 16h35

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