Php/mysql

Bonjour,
svp depanne moi je n'arrive pas à me connecter sur ma base et je ne sais pas ou se trouve l'error.
je compte sur votre depannage.
le code est le suivant:

<?php
//Connexion au serveur et selection de la base
$c=mysql_connect=("localhost","root","");
$b=mysql_select_db("guide",$c);
//preparation et excution de la requete
$rq="select*from restaurant";
$resultat=mysql_query($rq);
//lecture des ligne et formatage
echo"<table border='1' width='95'>";
while($ligne=mysql_fetch_row($resultat));
{
echo"<tr>";
for ($i=0;$i<7; $i++);
echo"<td> $ligne[$i]</td>";
echo"</tr>";
}
echo"</table>";
//fermeture de la connexion
mysql_close($c);

?>
Configuration: Windows XP
Firefox 2.0.0.16

47 réponses

Résumé de la discussion

Problème de connexion à une base MySQL via PHP et d'affichage des résultats : le script présente des erreurs de connexion et d'exécution qui empêchent d'obtenir un tableau correctement formaté. Des éléments de réponse clés pointent vers une syntaxe PHP incorrecte, notamment des accolades placées en dehors du bloc et des boucles mal formées, ce qui empêche l'exécution et l'affichage correct des données. Par ailleurs, plusieurs réponses suggèrent de corriger les indices et d’assurer l’exécution dans le bon ordre, tandis que d’autres évoquent des paramètres de connexion ou des éléments de configuration à vérifier.

Bobot (l’IA à votre service)
  1. merci de m'avoir repondu urgemment
    je viens juste d'avoir l'erreur.
    merci.il s'agit de "=" .
    voilà j'ai inserer ce code mais il m'affiche cette erreur.merci pour votre soutien.
    <?php
    class Mytable
    {
    var $connexion;
    var $requete;
    var $resultat;
    var $table;
    var $base;
    function Mytable($base,$table,$champ)
    {
    $this-> requete="select $champ from $table";
    $this-> table=$table;
    $this-> base=$base;
    //connexion à la base
    $this->connexion=mysql_connect("localhost","root","");
    mysql_select_db($base,this->connexion);
    //excution de la requete
    $this->resultat=mysql_query(this->requete);
    ?>
    1. Slt,

      quelques erreurs dans le code tu ne referme pas ta fonction ni ta classe

      <?php
      class Mytable
      {
      var $connexion;
      var $requete;
      var $resultat;
      var $table;
      var $base;
      function Mytable($base,$table,$champ)
      {
      $this-> table=$table;
      $this-> base=$base;
      $this-> requete="select "'.$champ.'" from "'.$table";

      //connexion à la base
      $this->connexion=mysql_connect("localhost","root","");
      mysql_select_db($base,this->connexion);
      //excution de la requete
      $this->resultat=mysql_query(this->requete);

      }
      }

      ?>
  2. merci
    mais le pbleme persiste
    voila le code et l'erreur affiché:
    <body>
    <h2>Quelques restaurants</h2>
    <?php
    //Connexion au serveur et selection de la base
    $c=mysql_connect("localhost","root","");
    $b=mysql_select_db("guide",$c);
    //preparation et excution de la requete
    $rq="select*from restaurant";
    $resultat=mysql_query($rq);
    //lecture des ligne et formatage
    echo"<table border='1' width='95'>";
    while($ligne=mysql_fetch_row($resultat));
    {
    echo"<tr>";
    for ($i=0;$i<7; $i++);
    echo"<td> $ligne[$i]</td>";
    echo"</tr>";
    }
    echo"</table>";
    //fermeture de la connexion
    mysql_close($c);

    ?>
    <?php
    class Mytable
    {
    var $connexion;
    var $requete;
    var $resultat;
    var $table;
    var $base;
    function Mytable($base,$table,$champ)
    {
    $this-> requete="select $champ from $table";
    $this-> table=$table;
    $this-> base=$base;
    //connexion à la base
    $this->connexion=mysql_connect("localhost","root","");
    mysql_select_db($base,$this->connexion);
    //excution de la requete
    $this->resultat=mysql_query($this->requete);
    ?>

    }
    }

    </body>
    </html>
    pour l'erreur affiché on a:

    Parse error: syntax error, unexpected $end in C:\wamp\www\phpprojet\base.php on line 56
    1. heeeeeeeee merci sa marche vraiment je suis tetu.
      attention sa n'affiche pas les elments de ma table

      merci encore de plus
      1. Par contre cela fonctionne peut être mais je ne vois pas l'intérêt de ta classe.
        J'ai l'impression que tu ne l'utilises pas !
        1. merci de m'avoir repondu!
          mais pourquoi les elements de ma table ne s'affichent pas alors que la conexion passe bien
          .
          svp depanne moi je vous en pris.
          merci encre e plus
          1. svp j'attend une suite pour mon prbme posé.
            je compte sur vous.
            merci
            1. essai peut etre de remplacer
              $resultat=mysql_query($rq);
              par
              $resultat=mysql_query($rq) or die(mysql_error());
              afin de voir une éventuelle erreur d'execution de la requete.
              1. merci pour votre reponse .
                certainement y'a pas d'erreur car il n'a rien affiché comme erreur mais aussi il n'affiche pas les elements inserés de ma table.
                je compte sur vous
                1. Voilà ça marche chez moi, donc tu ne devrais pas avoir de problème à t'en servir.
                  Par contre je n'ai pas effectuer cela en objet mais bon ...

                  <?php
                  //connexion sql
                  $connexion=mysql_connect("localhost","root","");
                  //connexion DB
                  mysql_select_db("nom_base",$connexion);
                  //excution de la requete
                  $requete="SELECT * FROM nom_table";
                  $resultat=mysql_query($requete);

                  //affichage des resultats
                  $i=1;
                  while ($donnees = mysql_fetch_array($resultat) )
                  {
                  echo "ligne ".$i."<br />";
                  echo $donnees['nom_champs_1']."<br />";
                  echo $donnees['nom_champs_2']."<br />";
                  // ...
                  // tu en mets au tant que tu as de champs dans ta table avec
                  // pour indice du tableau le nom de ton champs dans ta table
                  $i++;
                  }

                  ?>

                  Tiens moi au courant du résultat ;)
                  1. hoooo laaaaaaaaaa ca marche
                    mais tout est verticale
                    j'ai besoin de l'avoir sous forme de tableau comme indique ce tableau.
                    nom prenom adresse
                    issak djaw paris
                    merciiiiiiii encore
                    1. Alors voilà tu remplaces le code permettant d'afficher les résultats par celui-ci ça va te faire un tableau :

                      //affichage des resultats
                      echo"<table border='1' width='95'>";
                      echo "<tr><td>Nom</td><td>Prenom</td><td>Adresse</td></tr>";
                      while ($donnees = mysql_fetch_array($resultat) ){
                      echo "<tr>";
                      echo "<td>".$donnees['Nom_champ_pour_nom']."</td>";
                      echo "<td>".$donnees['Nom_champ_pour_prenom']."</td>";
                      echo "<td>".$donnees['Nom_champ_pour_adresse']."</td>";
                      echo "</tr>";
                      }
                      echo "</table>";

                      Après si tu veux un meilleure style à toi de le faire ...
                      Par contre tu devrais peut-être lire des tutos parce que tu ne m'as pas l'air au point en programmation web html/php parce que faire un tableau de la sorte il n'y a pas de difficultés lorsqu'on maitrise un minimum le html !
                      1. salut merci pour votre reponse,
                        tu sais c'est mon premier jour aujour dhui pour faire le php mais le html je me debourlle bien.
                        merci de me rappeller ma notion.
                        donc je compte sur vous tous pour m'aider.
                        merci pour votre assistance.
                        j'ai inseré de ce que vous avez dit mais san ne passe pas.
                        1. Quelle est l'erreur que tu vois à l'écran parce que j'ai testé le code avant de le poster et cela fonctionne !

                          PS : il faut que tu modifies l'indice du tableau selon les champs de ta table ;-)
                          1. c'est mieux de t'envoyer le code et sincerement merci.

                            //affichage du resultat
                            echo"<table border='1' width='95'>";
                            $i=1;
                            echo "<tr><td>Nom</td><td>id</td><td>Adresse</td>td>note</td>td>prix</td>td>visite</td></tr>";
                            while ($donnees = mysql_fetch_array($resultat))
                            {
                            echo"<tr>";
                            echo"<td>".$donnees['nom']."</td>";
                            echo "<td>".$donnees['id']."</td>";
                            echo "<td>".$donnees['adresse']."</td>";
                            echo "<td>".$donnees['note']."</td>";
                            echo "<td>".$donnees['prix']."</td>";
                            echo "<td>".$donnees['visite']."</td>";
                            echo"</tr>"
                            }
                            echo"</table>";
                            //fermeture de la connexion
                            mysql_close($c);

                            ?>
                            1. A première vue je vois des petites erreurs d'étourderies (moi aussi ça m'arrive souvent ^^)
                              Il manque un caractère à certaines de tes balises <td> que j'ai corrigé ci dessous

                              echo "<tr><td>Nom</td><td>id</td><td>Adresse</td><td>note</td><td>prix</td><td>visite</td></tr>";
                              1. oui mais il faut regarder au niveau de l'accolade "}" je crois que c'est l'abas qu'on me dit qu'il y'a une erreur voilà le message et precisement la ligne 36
                                merci bcp.

                                Parse error: syntax error, unexpected '}', expecting ',' or ';' in C:\wamp\www\phpprojet\base.php on line 36
                                1. merci j'ai vu l'erreur
                                  sincerement je vous suis reconnaissant et surtout merci d'aider les un et les autres
                                  a+
                                  merci
                                  je te ferai signe une fois avoir besoin de toi
                                  si tu me le permet
                                  • 1
                                  • 2
                                  • 3