Page 1 sur 1
affichage liste d'une base de donnée
Posté : 08 juin 2011, 19:24
par ifate
Bonsoir.J'affiche une liste d'inscrits dans le navigateur par le biais d'une base de donnée mais le souci est que le premier nom de la liste n'est pas affiché alors qu'il est dans la liste de la BD.D'ou vient le problème ? merci.
Re: affichage liste d'une base de donnée
Posté : 08 juin 2011, 21:26
par ifate
Voici le fichier en question : Le jeu de caractere en importation est LATIN 1
nom varchar(100) ADEKE
prenom varchar(100) Gene
ne decimal(4,0) 1990
sexe varchar(1) F
pays varchar(5) ETH
dept tinyint(5) 0
club varchar(100) TEAM BEKKALI
paye varchar(4) oui
cm varchar(4) oui
Re: affichage liste d'une base de donnée
Posté : 08 juin 2011, 21:28
par Ryle
Si lorsque tu testes ta requête directement sur la base, le premier élément apparaît bien, c'est que tu dois faire appel à une fonction de type mysql_fetch_* juste avant de boucler pour afficher ta liste. Du coup le pointeur passe à l'enregistrement suivant avant de commencer à boucler...
En général c'est un if(mysql_fetch_*) avant le while qui traine et qui du coup te décale d'un enregistrement..
Re: affichage liste d'une base de donnée
Posté : 08 juin 2011, 22:06
par ifate
En effet j'utilise :
while($liste = mysql_fetch_array($requete))
mais je n'ai pas de while ni de if(....)
je ne vois pas de quoi ça vient.
Re: affichage liste d'une base de donnée
Posté : 08 juin 2011, 22:33
par Ryle
Montre nous ton code (au moins la partie entre l'execution de ta requete et l'affichage de ta liste), ce sera plus simple

Re: affichage liste d'une base de donnée
Posté : 08 juin 2011, 22:42
par ifate
Le voici , j'ai changé les mot de passe et utilisateur.Merci
<?PHP
$connexion=mysql_connect("localhost","aaaaaaa","bbbbbb")OR die('Erreur de connexion');
mysql_select_db('courseapied')OR die('Erreur de sélection de la base');
$requete = mysql_query('SELECT *FROM listedesinscrits ORDER BY nom ASC') OR die('Erreur de la requête MySQL');
$liste = mysql_fetch_array($requete);
mysql_close()
?>
<?php
while($liste = mysql_fetch_array($requete))
{ ?>
<table>
<tr>
<td width="200"><?php echo $liste['nom'];?></td>
<td width="125"><?php echo $liste['prenom'];?></td>
<td width="35"><?php echo $liste['ne'];?></td>
<td width="20"><?php echo $liste['sexe'];?></td>
<td width="70"><?php echo $liste['pays'];?></td>
<td width= "20"><?php echo $liste['dept'];?></td>
<td width="300"><?php echo $liste['club'];?></td>
<td width="30"><?php echo $liste['paye'];?></td>
<td width="30"><?php echo $liste['cm'];?></td>
</tr>
</table>
<?php } ?>
</body>
</html>
Re: affichage liste d'une base de donnée
Posté : 09 juin 2011, 11:28
par moogli
Salut
Le premier s'affiche pas car il y a un mysql_fetch_array en dehors du while.
Tout appel a cette fonction fait avancer dans l'enjeux de resultat donc supprime le 1er et laisse seulement le while
Autre chose le mysql_close devrait etre apres le traitement (apres le while donc) et tu devrait ajouter un mysql_free_result($requete); avant le mysql_close(); (donc aux deux lignes qui suivent la fin du while

. )
@+
Re: affichage liste d'une base de donnée
Posté : 09 juin 2011, 19:24
par ifate
Salut Moogli
J'ai supprimé le premier mysql_fetch_array et maintenant tout marche merci vraiment je ne sais pas pourquoi je l'avais mis il faisait double emploi.Par contre ta deuxieme solution me met une erreur de syntaxe aux lignes ou je place les fonctions.Donc j'ai laissé comme s'était avant... si tu as une solution pour cela .merci.