Il n'affiche pas le premier enregistrement
Résolu
zezinand0
Messages postés
6
Statut
Membre
-
Zaptoz -
Zaptoz -
Bonjour,
J'ai un site en php et une base de données relié au même. Mon probleme est qu'il n'affiche pas le premier enregistrement de la table à afficher.
J'explique mieux, j'ai un menu derroulant "modules" qui contient les page modules_ich.php et modules_mas.php. et cette page modules_ich.php permet l'affichage des 5 modules ich qui sont dans la table modules. Le problème est qu'il affiche que 4 donc pas le premier. je vous laisse le code. Merci beaucoup d'avance ;).
<?php
// le champ modules.download c'est pour distinguer les modules ich de mas.
$ReqSQL= "SELECT * FROM Modules WHERE modules.download='ich'";
//connexion a la BD
$Resultat= connexion($ReqSQL);
if (@mysql_fetch_array($Resultat))
{
echo "<table align='center' border='1'><tr>";
echo "<td>Nom du Module</td>";
echo "<td>Description</td>";
echo "<td></td></tr>";
while ($ligne = mysql_fetch_array($Resultat))
{
$id=$ligne['IDModule'];
echo "<tr><td>".$ligne['Nom_module']."</td>";
echo "<td>".$ligne['description']."</td>";
echo "<td><a href='page_user.php?conteneur=choix_module& qNom=".$ligne['Nom_module']."&qID=".$ligne['IDModule']."''>Download</a></td></tr>";
}
echo "</table>";
}
?>
J'ai un site en php et une base de données relié au même. Mon probleme est qu'il n'affiche pas le premier enregistrement de la table à afficher.
J'explique mieux, j'ai un menu derroulant "modules" qui contient les page modules_ich.php et modules_mas.php. et cette page modules_ich.php permet l'affichage des 5 modules ich qui sont dans la table modules. Le problème est qu'il affiche que 4 donc pas le premier. je vous laisse le code. Merci beaucoup d'avance ;).
<?php
// le champ modules.download c'est pour distinguer les modules ich de mas.
$ReqSQL= "SELECT * FROM Modules WHERE modules.download='ich'";
//connexion a la BD
$Resultat= connexion($ReqSQL);
if (@mysql_fetch_array($Resultat))
{
echo "<table align='center' border='1'><tr>";
echo "<td>Nom du Module</td>";
echo "<td>Description</td>";
echo "<td></td></tr>";
while ($ligne = mysql_fetch_array($Resultat))
{
$id=$ligne['IDModule'];
echo "<tr><td>".$ligne['Nom_module']."</td>";
echo "<td>".$ligne['description']."</td>";
echo "<td><a href='page_user.php?conteneur=choix_module& qNom=".$ligne['Nom_module']."&qID=".$ligne['IDModule']."''>Download</a></td></tr>";
}
echo "</table>";
}
?>
A voir également:
- Il n'affiche pas le premier enregistrement
- Le clavier de mon telephone ne s'affiche plus - Guide
- Enregistrement mp3 gratuit - Télécharger - Streaming audio
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret? ✓ - Forum Python
- Correction python ✓ - Forum Python
2 réponses
Bonjour
C'est normal que la première ligne ne soit pas affichée.
Tu récupères une ligne de la réponse chaque fois que tu fais mysql_fetch_array($Resultat); c'est pour ça que tu fais ta boucle while ($ligne = mysql_fetch_array($Resultat)).
Mais avant, tu as déjà fait if (@mysql_fetch_array($Resultat)) : tu as donc déjà lu la première ligne avant de commencer ta boucle !
De plus, ce test est farfelu, je pense que tu voulais tester s'il y avait au moins une réponse. Il fallait faire :
Et tu avais utilisé @ : ne t'en sers jamais pour cacher une erreur qui aurait pu être évitée, ici il n'y avait pas lieu de l'utiliser.
C'est normal que la première ligne ne soit pas affichée.
Tu récupères une ligne de la réponse chaque fois que tu fais mysql_fetch_array($Resultat); c'est pour ça que tu fais ta boucle while ($ligne = mysql_fetch_array($Resultat)).
Mais avant, tu as déjà fait if (@mysql_fetch_array($Resultat)) : tu as donc déjà lu la première ligne avant de commencer ta boucle !
De plus, ce test est farfelu, je pense que tu voulais tester s'il y avait au moins une réponse. Il fallait faire :
if (mysql_num_rows($Resultat)>0)
Et tu avais utilisé @ : ne t'en sers jamais pour cacher une erreur qui aurait pu être évitée, ici il n'y avait pas lieu de l'utiliser.
Merci
Mon code :
$req = $bdd->prepare('Ma requête SELECT"); if ($donnees = $req >0) { while ($donnees = $req->fetch()) { echo ($donnees['commentaire']); } } else echo('<h4 style="text-align: center;">Aucun Commentaires</h4>');