Afficher donnée de la bdd

chronosXIII Messages postés 31 Statut Membre -  
 Utilisateur anonyme -
Bonjour,

voila j'ai un probleme pour afficher les donnée de ma bdd
j'ai fais ça mais ça ne marche pas je ne sais pas les fair apparaitre

</div id="actu" width="600px">
<?php
mysql_connect('localhost','root','');
mysql_select_db('test');

$reponse = mysql_query("SELECT * FROM news");

while ($donnees = mysql_fetch_array($reponse) )
{
?>
<p>
<strong>titre</strong> : <?php echo $donnees['titre']; ?><br />
<?php echo $donnees['contenu']; ?>
</p>
<?php
}

mysql_close();
?>

</div>
Configuration: Windows XP
Firefox 2.0.0.14

12 réponses

Résumé de la discussion

Le problème concerne l'affichage des données d'une base MySQL dans une page, car le script PHP ne parvient pas à afficher correctement les résultats depuis la requête. Des éléments essentiels consistent à corriger la structure HTML et à sécuriser l'exécution du code PHP, notamment en plaçant l'affichage dans des balises appropriées et en effectuant une connexion MySQL suivie d'une requête. En pratique, utiliser une boucle while récupère chaque ligne et affiche les champs titre et contenu, en évitant les erreurs de fermeture des balises et en fermant correctement la connexion. En cas d'absence d'affichage, vérifier que le fichier porte bien l'extension .php et que le serveur autorise l'exécution de PHP.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. David
     
    Salut chronosXIII
    essai de mettre mysql_fetch_row à la place de mysql_fetch_array
    0
    1. chronosXIII Messages postés 31 Statut Membre
       
      ok merci je vais tenté ça de suite
      0
    2. Utilisateur anonyme > chronosXIII Messages postés 31 Statut Membre
       
      ^^
      a la place de ton array, mets :
      $requete_sql="select * from TaTable";     //texte de la requête
      $res=mysql_query("$requete_sql");     // exécution de ta requête
      $row = mysql_fetch_row($res);     // sélectionné le résultat
      

      Pour afficher les résultats de ta requête, tu fais :
      echo $row[0];     //résultat de la première colonne
      echo $row[1];      //résultat de la deuxième colonne
      

      Et tu continues. Tu peux bien sur le faire dans une boucle!
      0
    3. chronosXIII Messages postés 31 Statut Membre > Utilisateur anonyme
       
      j'ai essayé sous cette forme la

      <?php
      mysql_connect('localhost','root','');
      mysql_select_db('test');
      $requete_sql="select * from news";
      $res=mysql_query("$requete_sql");
      $row = mysql_fetch_row($res);

      while ($row)
      {


      <strong>titre</strong> : echo $row[1]; </br>
      echo $row[2];



      }

      mysql_close();
      ?>




      mais comme resutat j'ai

      titre : echo $row[1];
      echo $row[2];

      } mysql_close(); ?>
      0
    4. Utilisateur anonyme > chronosXIII Messages postés 31 Statut Membre
       
      pour ta boucle, fais ça.
      indice=0;
      while($row = mysql_fetch_row($res))
      {
       echo $row[indice];
       indice=indice+1;
      }

      Ca devrait marcher je pense
      0
    5. redlifebig Messages postés 60 Statut Membre 23 > chronosXIII Messages postés 31 Statut Membre
       
      <?php
      while ($row)
      {

      echo "<strong>titre</strong> : ".$row[1]."</br>";
      echo $row[2];
      }
      ?>
      0
  2. Utilisateur anonyme
     
    Si ça te mets ça comme ça, c'est que t'as fait une erreur de gillemets ou de parenthèses. Copie colle ce code :
    $nom_serveur_MYSQL="localhost" ;
    $utilisateur="root" ;
    $mot_de_passe="" ;
    if (mysql_connect("$nom_serveur_MYSQL", "$utilisateur", "$mot_de_passe"))
    {
    	echo"Vous êtes maintenant connecté à MySQL.<BR>";
    }
    else
    {
    	echo"La connexion à MySQL a échoué.<BR>";
    }
    
    $nom_de_la_base="test" ;
    if (mysql_select_db("$nom_de_la_base"))
    {
    	echo"Vous êtes maintenant connecté à la base.<BR>";
    }
    else
    {
    	echo"La connexion à la base a échoué.<BR>";
    }
    
    0
    1. chronosXIII Messages postés 31 Statut Membre
       
      faut bien le mettre entre balise <?php ?>

      si oui ça me met exaactement comme au dessus


      inon l'erreur vient peut etre du code précedent le php

      <html>

      <head>
      <title>bienvenue sur le site de la société ********</title>
      <link rel="shortcut icon" type="image/x-icon" href="images/icon.png" />
      <link href="css/style.css" rel="stylesheet" type="text/css" />
      <style type="text/css">

      </style>
      </head>
      <body>
      <center>
      <tr><td>
      <center>
      <table width="700" background="images/pljk6.jpg" border="1">
      <tr><td>
      <div id="ban"></div>
      </div id="actu" width="600px">
      <?php
      $nom_serveur_MYSQL="localhost" ;
      $utilisateur="root" ;
      $mot_de_passe="" ;
      if (mysql_connect("$nom_serveur_MYSQL", "$utilisateur", "$mot_de_passe"))
      {
      echo"Vous êtes maintenant connecté à MySQL.<BR>";
      }
      else
      {
      echo"La connexion à MySQL a échoué.<BR>";
      }
      $nom_de_la_base="test" ;
      if (mysql_select_db("$nom_de_la_base"))
      {
      echo"Vous êtes maintenant connecté à la base.<BR>";
      }
      else
      {
      echo"La connexion à la base a échoué.<BR>";
      }
      ?>
      </div>
      <center><img src="images/mousse.png"></center>

      </div>
      </body>


      </html>
      0
      1. Utilisateur anonyme > chronosXIII Messages postés 31 Statut Membre
         
        Effectivement, ca va pas dans tes balises <div>.
        Copie cole ce code :
        <html> 
        
        <head> 
        <title>bienvenue sur le site de la société ********</title> 
        <link rel="shortcut icon" type="image/x-icon" href="images/icon.png" /> 
        <link href="css/style.css" rel="stylesheet" type="text/css" /> 
        <style type="text/css"> 
        
        </style> 
        </head> 
        <body> 
        <center> 
        <tr><td> 
        <center> 
        <table width="700" background="images/pljk6.jpg" border="1"> 
        <tr><td> 
        <div id="ban"></div> 
        <div id="actu" width="600px"> 
        <?php 
        $nom_serveur_MYSQL="localhost" ; 
        $utilisateur="root" ; 
        $mot_de_passe="" ; 
        if (mysql_connect("$nom_serveur_MYSQL", "$utilisateur", "$mot_de_passe")) 
        { 
        echo"Vous êtes maintenant connecté à MySQL.<BR>"; 
        } 
        else 
        { 
        echo"La connexion à MySQL a échoué.<BR>"; 
        } 
        $nom_de_la_base="test" ; 
        if (mysql_select_db("$nom_de_la_base")) 
        { 
        echo"Vous êtes maintenant connecté à la base.<BR>"; 
        } 
        else 
        { 
        echo"La connexion à la base a échoué.<BR>"; 
        } 
        ?> 
        
        <center><img src="images/mousse.png"></center> 
        
        </div> 
        </body> 
        
        
        </html>
        0
    2. Utilisateur anonyme
       
      j'ai vu que tu utilisais Firefox. Faut faire gaffe à tout au niveau du code php et html. Entre autre, pour les balises php, il faut pas mettre :
      <?
      
      ?>

      mais il faut mettre :
      <?php
      
      ?>

      C'est très pointilleux. Il est très sensible aux guillemets, accolades ou autre. Tout foire très rapidement. Si ca continue à foiré, installe notepad++ (si tu l'as pas déjà), vas sur ton site web avec ton navigateur. Quand t'es sur ta page, click droit --> afficher la source. Tu verra peut être ce qui foire.
      0
  3. chronosXIII Messages postés 31 Statut Membre
     
    bah je met toujour <?php ou alors oubli de ma part ...
    0
    1. Utilisateur anonyme
       
      va voir le message numéro 16. C'est le dernier que j'ai posté mais il s'est pas mis à la fin...
      0
  4. chronosXIII Messages postés 31 Statut Membre
     
    oui je viens de le voir ^^

    mais ça affiche pareil :/
    0
    1. Utilisateur anonyme
       
      Fais un petit test. Crées un fichier "connexion.php"
      Dedans, met ce code :
      <?php 
      $nom_serveur_MYSQL="localhost" ; 
      $utilisateur="root" ; 
      $mot_de_passe="" ; 
      if (mysql_connect("$nom_serveur_MYSQL", "$utilisateur", "$mot_de_passe")) 
      { 
      echo"Vous êtes maintenant connecté à MySQL."; 
      } 
      else 
      { 
      echo"La connexion à MySQL a échoué."; 
      } 
      $nom_de_la_base="test" ; 
      if (mysql_select_db("$nom_de_la_base")) 
      { 
      echo"Vous êtes maintenant connecté à la base."; 
      } 
      else 
      { 
      echo"La connexion à la base a échoué."; 
      } 
      ?> 
      

      Tu le testes. Si ca marche alors c'est cool.
      0
      1. chronosXIII Messages postés 31 Statut Membre > Utilisateur anonyme
         
        seul ça me met vous etes connecté 2 fois
        0
      2. Utilisateur anonyme > chronosXIII Messages postés 31 Statut Membre
         
        c'est à dire? connecté deux fois?????
        0
      3. Utilisateur anonyme > Utilisateur anonyme
         
        si ça te met :
        vous êtes connecté à mysql.
        vous êtes connecté à la base.
        ca veut dire que ca marche.
        0
      4. chronosXIII Messages postés 31 Statut Membre > Utilisateur anonyme
         
        mais quand je met l'ancien code que tu ma paé ça marche pas :/
        0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. chronosXIII Messages postés 31 Statut Membre
     
    bah les deux vous etes connecté my sql et la base voila exactement ce que ça met

    Vous êtes maintenant connecté à MySQL.Vous êtes maintenant connecté à la base.
    0
    1. Utilisateur anonyme
       
      héhé, donc ca marche! c'était bien un problème de balises. Pour y remédier, je vais te dire ce qu'il faut faire.
      0
    2. Utilisateur anonyme
       
      Garde ton fichier connexion.php et mets le dans le même dossier que ta page web. Tu vas l'inclure dans ton code html comme ça :
      <html> 
      <head> 
      <title>bienvenue sur le site de la société ********</title> 
      <link rel="shortcut icon" type="image/x-icon" href="images/icon.png" /> 
      <link href="css/style.css" rel="stylesheet" type="text/css" /> 
      <style type="text/css"> 
      
      </style> 
      </head> 
      <body> 
      <center> 
      <tr><td> 
      <center> 
      <table width="700" background="images/pljk6.jpg" border="1"> 
      <tr><td> 
      <div id="ban"></div> 
      <div id="actu" width="600px"> 
      <?php
      include("connexion.php");
      ?>
      <center><img src="images/mousse.png"></center> 
      </div> 
      </body> 
      </html>

      Normalement, ca devrait marcher...
      0
  7. chronosXIII Messages postés 31 Statut Membre
     
    sur ce code ça me met parse error unexpected '=' ligne 11

    <?php
    mysql_connect('localhost','root','');
    mysql_select_db('test');
    $requete_sql="select * from news";
    $res=mysql_query("$requete_sql");
    ?>

    <strong>titre</strong> :

    <?php
    indice=0;
    while ($row = mysql_fetch_row($res); )
    {
    echo $row[indice];
    indice=indice+1;
    }
    mysql_close(); ?>
    0
  8. chronosXIII Messages postés 31 Statut Membre
     
    elle m'en aura poser des probleme cette page d'actu :/

    toutça pour afficher

    titre : bla bla
    et texte de l'artcile

    ^^
    0
    1. Utilisateur anonyme
       
      essaye en enlevant le point virgule après $row=mysql_fetch_row($res)
      0
      1. Utilisateur anonyme > Utilisateur anonyme
         
        oups! prdon, c'est moi qui fais de la merde. Enlève le point virgule et met un $ devant indice à chaque fois qu'il y est.
        0
      2. Utilisateur anonyme > Utilisateur anonyme
         
        Bon, je te mets le code proprement bicoze, je suis embrouillée...^^
        <?php 
        mysql_connect('localhost','root',''); 
        mysql_select_db('test'); 
        $requete_sql="select * from news"; 
        $res=mysql_query("$requete_sql"); 
        ?> 
        
        <strong>titre</strong> : 
        
        <?php 
        $indice=0; 
        while ($row = mysql_fetch_row($res)) 
        { 
        echo $row['$indice']; 
        $indice=$indice+1; 
        } 
        mysql_close(); ?>
        

        Voila! t'as plus qu'à copier.^^
        0
  9. chronosXIII Messages postés 31 Statut Membre
     
    le include n'a pas l'aire de marcher :/
    0
    1. Utilisateur anonyme
       
      Pourquoi? t'as une erreur?
      0
  10. chronosXIII Messages postés 31 Statut Membre
     
    non rien d'afficher jeste les graphisme sinon le php juste au dessu seul marche mais ça me met

    titre : 1test2dzdzedfef

    le 1 la clef ( ça j'aimerai qu'elle y soit pas )
    test2 le titre
    et le reste c'est le message

    bon ça c'est resolu mais il ne m'affiche qu'un message
    alors que j'en ai plusieur :/
    0
    1. Utilisateur anonyme
       
      et bien c'est parfait! Si tu peux afficher les résultat de la table, c'est que tu es connecté. Si tu veux pas que la clé s'affiche, il te suffit de mettre $indice à 1 avant la boucle. (je l'avais mis à 0). Normalement, tout est bon.^^^
      T'as d'autres questions ou d'autres problèmes?
      0
      1. chronosXIII Messages postés 31 Statut Membre > Utilisateur anonyme
         
        oui j'avais edité mon post car c'etait logiqe que ça venait de l'indice ^^

        oui il ne m'affiche qu'un article ... alors qu'il y en a plus faut que je fasse un for ?
        0
      2. Utilisateur anonyme > chronosXIII Messages postés 31 Statut Membre
         
        je me suis trompée dans ce que je t'ai dit. Le $row sert à afficher le contenu des colonnes pour un enregistrement de ta table. Pour afficher toutes les données de ta table, je pense que tu dois faire :
        <code>
        $requete_sql="SELECT * FROM news" ;
        $res = mysql_query("$requete_sql");
        while ($data= mysql_fetch_array($res))
        {
        echo $data['Numero_du_news'];
        }
        Je suis pas sure que ca marchera. Dis moi si ca marche. Je vais essayer de trouver autre chose.
        0
      3. Utilisateur anonyme > Utilisateur anonyme
         
        ^^
        héhé! ca y est j'ai trouvé!
        $requete_sql="SELECT * FROM news" ; 
        $res = mysql_query("$requete_sql"); 
        while ($data= mysql_fetch_array($res)) 
        { 
        echo $data['Numero_du_news']; 
        echo $data['nom_du_news'];
        echo $data['texte_du_news'];
        } 
        

        il va t'afficher le contenu de tes champs pour tout tes enregistrements! Dis moi si ca marche pas mais a priori, il devrait pas y avoir de problème! Pour moi, ça marche.
        0
  11. chronosXIII Messages postés 31 Statut Membre
     
    merci enormement ^^ ça marche niquel et si a la place d'un contenu texte je veux mettre une image ? il faut fair quoi ?

    <img src="$data">?

    sinon tu pourra allez voir mon autre toic pour l'insertion dans la bdd stp
    0
    1. Utilisateur anonyme
       
      dis moi le titre exact de ton topic et j'irais. Pour l'image je sais pas comment on fait. Mais, n'oublie pas de mettre ce topic en résolu.^^
      0
      1. chronosXIII Messages postés 31 Statut Membre > Utilisateur anonyme
         
        oui alors le titre besoin d'aide pour intégration dans la BDD

        mais pour inserer une image a la place d'un texte il aurai fallu que je fasse quoi ?
        0
      2. Utilisateur anonyme > chronosXIII Messages postés 31 Statut Membre
         
        je sais pas. Stocker une image dans une base de données c'est pas très conseillé. Ca alourdi considérablement une base de données.
        0
      3. Utilisateur anonyme > Utilisateur anonyme
         
        mais, j'aimerais bien savoir comment faire moi aussi!
        0
  12. chronosXIII Messages postés 31 Statut Membre
     
    merci encore pour cette précieuse aaide ^^
    0
  13. chronosXIII Messages postés 31 Statut Membre
     
    tu t souvien tu m'a fais un include dans le html et je t'ai dis qu'il ne archais pas ....

    je l'ai laissé et j'en ai mi un dans le php qu marche

    et le resultat est quil fait marché l'autre include mais voila c'est moche ... et en plus ça se repete indéfiniment :/

    regarde
    http://img299.imageshack.us/img299/4986/pngcopievc0.png

    pareil tu peu voir que su certain article le texte est a ralonge dans mon texte area ça me met un ascenseur verticale au lieu de me fair aller a la ligne tu sais pas comment resoudre ça ?

    ps le rectangle noir c'est juste un bannière a venir ^^
    0
    1. chronosXIII Messages postés 31 Statut Membre
       
      donc si tu sais d'ou ça vient l'un des deux proble je suis preneur ^^
      0
      1. Utilisateur anonyme > chronosXIII Messages postés 31 Statut Membre
         
        si l'autre include marche, enlève le premier.
        En ce qui concerne ta texte area, il doit y avoir une propriété qui dit pas de scrollbar horizontal.
        C'est à chercher sur google, ça doit se trouver.
        0