Problme d'affichage (PHP)
seabust Messages postés 744 Date d'inscription Statut Membre Dernière intervention -
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
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.
-
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 -
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> -
ça vient d'un erreur de ta requête SQL pas de ton script php
-
affirmatif... la requete doit etre erronée ...
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
comme je l'ai sit tout a l'heure tu as du faire une faute d'orthographe dans tes champs SQL
-
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 -
t'as dû mal structuré ton fichier....
verifies bien tes balises HTML.. -
que se passe-t-il quand tu tentes d'afficher ta page ?
-
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. -
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 -
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...
-
on pourrai avoir les erreurs qu'il te renvoie
-
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) -
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. ^^
-
-
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
-
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 -
Est ce que tu pourrais étre plus précis ?? excuse mais je vois pas trop ou tu veus en venir.
-
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 !! -
SELECT * FROM `utilisateur` ORDER BY `nom`
si cela ne marche c'est que tu as fait des erreur dans les noms de tes champs
- 1
- 2
- 3