Titre: Problème de récupération d'enregistrements depuis Mysql
Posté par: Bluely le le 27-11-2010 a 16:50:09
Bonjour,
J'aimerais trouver la solution à un problème précis. Quand je fais une requete pour récupérer TOUS les enregistrements de ma table, je ne les reçois pas tous. Il y a toujours un qui ne revient pas dans la liste des résultats, il s'agit du tout premier enregistrement. Et quand je demande dans cette meme requete un affichage par ordre décroissant, c'est l'inverse qui se produit: le dernier enregistrement n'est pas retourné dans la liste. Pouvez-vous me dire où se trouve le problème?
Merci |
Titre: Re:Problème de récupération d'enregistrements depuis Mysql
Posté par: alcyares le le 27-11-2010 a 18:39:16
Bonsoir, c'est un court jeune homme, comme dirait l'autre.
Pourrait-on avoir des renseignements supplémentaires : code PHP, requête en question, ... |
Titre: Re:Problème de récupération d'enregistrements depuis Mysql
Posté par: Bluely le le 27-11-2010 a 18:43:08
Oui tout de suite :)
Code:
<?php
$hote = "localhost"; $utilisateur = "root"; $passe = "";
$liaison = mysql_connect($hote, $utilisateur, $passe) or die(mysql_error); mysql_select_db("test", $liaison);
$requete = " SELECT * FROM tab_test "; $resultat= mysql_query($requete); $data= mysql_fetch_array($resultat);
$nombre=mysql_num_rows($resultat);
while ($date=mysql_fetch_array($resultat)){ ?> <br /><?php echo $date['id']?> <br /><?php echo $date['titre']?> <br /><?php echo $date['news']?> <br /><br /> <?php }
echo $nombre;?>
|
|
Et justement que j'essaie la fonction mysql_num_rows ça me renvoit bien le nombre exact d'enregistrements se trouvant dans la base. Donc bizarre un peu non? |
Titre: Re:Problème de récupération d'enregistrements depuis Mysql
Posté par: souifi le le 27-11-2010 a 23:25:02
Tu récupères tes données avec $data et fait une boucle avec $date ??? Mais après ce n'est peut être qu'une erreur de frappe et utilise le bon code dans tes test. Si c'est le cas je ne vois pas d'erreur, tu peut toujours débugger $data:
Code:
| echo '<pre>' . print_r($data, true) . '</pre>'; |
|
N'oublies pas que ton tableau commence à 0. Donc si tu récupères 10 enregistrements dans ta table avec $nombre, sa ira de $data[ 0 ] à $data[ 9 ].
Bonne chance. |
Titre: Re:Problème de récupération d'enregistrements depuis Mysql
Posté par: Bluely le le 28-11-2010 a 01:25:47
Merci Souifi, j'ai corrigé la variable. Cependant, je n'ai toujours pas trouvé le problème. Quand je mets le code que tu m'as filé, je ne reçois que les valeurs de 3enregistrements sur 4. Le premier n'est pas renvoyé.
J'ai retesté mon code en demandant juste un enregistrement, donc par défaut ça doit renvoyer le premier enregistrement; sauf que je reçois le 2e. J'avoue que je ne comprends rien. D'autant plus que la fonction mysql_num-rows me renvoit le nombre total de mes enregistrements.
Code:
<?php
$hote = "localhost"; $utilisateur = "root"; $passe = "";
$liaison = mysql_connect($hote, $utilisateur, $passe) or die(mysql_error); mysql_select_db("test", $liaison);
$requete = " SELECT * FROM tab_test "; $resultat= mysql_query($requete); $data= mysql_fetch_array($resultat);
$nombre=mysql_num_rows($resultat);
$data=mysql_fetch_array($resultat); ?> <br /><?php echo $data['id']?> <br /><?php echo $data['titre']?> <br /><?php echo $data['news']?> <br /><br /> <?php
echo $nombre;?> |
|
|
Titre: Re:Problème de récupération d'enregistrements depuis Mysql
Posté par: Bluely le le 30-11-2010 a 14:04:09
J'ai réglé mon problème. En fait je déclarais la variable $data 2 fois. Et donc à la 2e déclaration (celle qui se toruve dans la boucle), la requête passait directement au 2e enregistrement. Merci à tous |
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|