Problme d'affichage (PHP)

Choupi12 -  
seabust Messages postés 744 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un petit problème avec PHP. je débute et ai fait une page d'essai, je n'arrive pas à afficher ma page. Il doit surement y avoir un petit défaut dans mon code. Pouvezvou m'aider s'il vous plait.
Merci d'avance.

// Déclaration des paramètres de connexions
$user="root";
$passwd="mysql";
$host="localhost";
$bdd="base2donnee";

// Déclaration des variables

// Connexion à la base de données Bd1
mysql_connect($host,$user ,$passwd) or die("erreur de connexion au serveur");
mysql_select_db($bdd);

?>

<!---------------Titre----------------->
<br>
<h1> <p align = "center" > Liste des utilisateurs </p> </h1>

<!------------Création du tableau---------->
<br>
<br>
<table border = "1" bordercolor = "66CCFF">
<tr>

<td align = "center"> <b> Identifiant de l'utilisateur </b> </td>
<td align = "center" style = "padding-left = 7%"> <b> Nom de l'utilisateur </b> </td>
<td align = "center" style = "padding-left = 7%"> <b> Prénom de l'utilisateur </b> </td>
<td align = "center" style = "padding-left = 7%"> <b> Adresse de l'utilisateur </b> </td>
<td align = "center" style = "padding-left = 7%"> <b> Email de l'utilisateur </b> </td>
<td align = "center" style = "padding-left = 7%"> <b> Téléphone de l'utilisateur </b> </td>
</tr>
<tr>
<?php
mysql_connect ($host,$user ,$passwd) or die("erreur de connexion au serveur");
$r = mysql_query("select * from utilisateur order by nom");
$i=0 ;
while ($row = mysql_fetch_array)

if ($i%2 == 0) {$col = "#DDDDDD";} else {$col = "#FFFFFF";}
?>
<tr>
<td> <? = $row ['nom'] ?> </td>
<td> <? = $row ['prenom'] ?></td>
<td> <? = $row ['adresse'] ?></td>
<td> <? = $row ['email'] ?> </td>
<td> <? = $row ['telephone'] ?></td>
</tr>
<?
endif

$i=++;
?>
Configuration: Windows XP Internet Explorer 7.0

53 réponses

  • 1
  • 2
  • 3
Résumé de la discussion

Une page PHP destinée à afficher des utilisateurs depuis une base MySQL ne s'affiche pas comme prévu et suscite des conseils pour corriger la connexion et l'affichage des données. Des réponses insistent sur la correction de la boucle de récupération et l'évitement d'une seconde connexion, en utilisant une requête stockée dans $r et while ($row = mysql_fetch_array($r)). Autre point courant, il est conseillé d'éviter les balises PHP courtes et d'afficher les champs avec echo, par exemple <?php echo $row['nom']; ?>, pour assurer compatibilité et affichage correct. En outre, certains pointent l'importance d'une requête SQL cohérente et suggèrent que supprimer une seconde connexion peut éviter des erreurs liées à la base.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. seabust Messages postés 744 Date d'inscription   Statut Membre Dernière intervention   102
     
    bien sur c'est normal tu ne précise même pas les données a la fonction mysql_fetch_array()
    met while($row=mysql_fetch_array($r)) ça devrai aller vachement mieux
    1
  2. atspinto Messages postés 338 Date d'inscription   Statut Membre Dernière intervention   27
     
    ne s'agirait il pas d'un echo devant chaque ligne renvoyé au lieu d'un =

    <td> <? = $row ['nom'] ?> </td> ça devrait plutot etre <td> <? echo $row ['nom']; ?> </td>
    1
  3. seabust Messages postés 744 Date d'inscription   Statut Membre Dernière intervention   102
     
    ça vient d'un erreur de ta requête SQL pas de ton script php
    1
  4. atspinto Messages postés 338 Date d'inscription   Statut Membre Dernière intervention   27
     
    affirmatif... la requete doit etre erronée ...
    1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. seabust Messages postés 744 Date d'inscription   Statut Membre Dernière intervention   102
     
    comme je l'ai sit tout a l'heure tu as du faire une faute d'orthographe dans tes champs SQL
    1
  7. seabust Messages postés 744 Date d'inscription   Statut Membre Dernière intervention   102
     
    c'est bon j'ai la solution !!

    regarde ton code tu as une partie de connexion a la base de donnée puis après tu te reconnecte mais cette fois tu n'as pas précisé quelle BDD tu utilisait je te conseille donc de supprimer ta 2eme connexion
    1
  8. atspinto Messages postés 338 Date d'inscription   Statut Membre Dernière intervention   27
     
    t'as dû mal structuré ton fichier....

    verifies bien tes balises HTML..
    1
  9. seabust Messages postés 744 Date d'inscription   Statut Membre Dernière intervention   102
     
    que se passe-t-il quand tu tentes d'afficher ta page ?
    0
  10. Choupi12
     
    Ben sa met trois plombe j'ai le tablau qui s'affiche et sa me met des tonnes d'erreur sur cette ligne :
    while ($row = mysql_fetch_array)
    alors j'ai essayer de bidouiller un peu
    mais au mieux sa m'affiche que le tableau et au pire juste le titre et des messages d'erreurs.
    Voila ! ça fait un certain temps que je bloque sur cette erreur et je ne comprend vraiment pas.
    0
  11. atspinto Messages postés 338 Date d'inscription   Statut Membre Dernière intervention   27
     
    slt..

    $r = mysql_query("select * from utilisateur order by nom");
    $i=0 ;
    while ($row = mysql_fetch_array($r)) { }

    le mysql_fetch_array($result) avec $result, le resultat de ton mysql_query
    0
  12. Choupi12
     
    Oui c'est vrai je ne l'est pas préciser mais initialement je l'avais mis. j'ai du le supprimer pour voir se que sa donnait sans. en tout cas cela me génère quand même une erreur et toujours sur la méme ligne...
    0
  13. seabust Messages postés 744 Date d'inscription   Statut Membre Dernière intervention   102
     
    on pourrai avoir les erreurs qu'il te renvoie
    0
  14. Choupi12
     
    Oui bien sur
    Donc j'ai mon titre qui s'affiche, le tableau et sa :

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 3.0\www\liste.php on line 52

    je précise quand même que j'ai bien ajouté le ($r)
    0
  15. Choupi12
     
    Concernant les <td> <? = $row ['nom'] ?> </td> j'ai modifié pour regardé se que cela donnait et malheureusement ce n'est pas sa... mais a mon avis cela m'aurait généré une erreur quand méme. ^^
    0
  16. Choupi12
     
    Bon j'ai pris le temps de regarder ma requète et je vois vraiment pas la ou sa coince. alors soit j'ai oublié un truc soit je ne sais pas le faire. Si jamais vous avez une idée dite le moi. merci
    0
  17. atspinto Messages postés 338 Date d'inscription   Statut Membre Dernière intervention   27
     
    fais un echo de ta requete dans ton navigateur ... tu recopies, et tu colles dans ton utilitaire mysql et t'executes...

    sinon.. affiches l'erreur mysql_error
    0
  18. Choupi12
     
    Est ce que tu pourrais étre plus précis ?? excuse mais je vois pas trop ou tu veus en venir.
    0
  19. atspinto Messages postés 338 Date d'inscription   Statut Membre Dernière intervention   27
     
    si l'erreur vient de l'execution de la requete, un echo de mysql_error() genre echo mysql_error(); t'affiches l'erreur sql produire...

    sinon.. tu peux toujours recopier ta requete, et l'executer directement à partir de quelque chose comme PHPMYadmin... bref ton utilitaire mysql, et tu vois si ça passe bien !!
    0
  20. seabust Messages postés 744 Date d'inscription   Statut Membre Dernière intervention   102
     
    SELECT * FROM `utilisateur` ORDER BY `nom`

    si cela ne marche c'est que tu as fait des erreur dans les noms de tes champs
    0
  • 1
  • 2
  • 3