PHP/SQL Problème affichage de données

Résolu
sipherion Messages postés 1809 Date d'inscription   Statut Membre Dernière intervention   -  
sipherion Messages postés 1809 Date d'inscription   Statut Membre Dernière intervention   -
Salut à tous !

Voila, j'ai un petit problème, et j'espère que vous pourrez corriger mon erreur.

J'ai créé un formulaire qui permet la gestion de stock. J'ai finit la partie "Saisie du matériel" mais j'ai un bug dans la partie "Affichage des données".

Je voudrais qu'une page Internet m'affiche la liste des composants déja enregistrés. J'ai tappé le code mais il ne me montre qu'une seule ligne, avec donc un seul résultat.

$requete="select nom,categorie,description,date_achat,quantite,marque from composant;";
$resultat=mysql_query($requete);
if(mysql_num_rows($resultat)){
echo("<table border=1><tr><td>Type</td><td>Nom</td><td>Marque< ;/td><td>Description</td><td>Date d'achat</td><td>Quantité</td></tr>");
while($resultat=mysql_fetch_assoc($resultat)){
$categorie=$resultat['categorie'];
$nom=$resultat['nom'];
$marque=$resultat['marque'];
$description=$resultat['description'];
$date_achat=$resultat['date_achat'];
$qu=$resultat['quantite'];
echo ("<tr><td>".$categorie."</td>
<td>".$nom."</td>
<td>".$marque."</td>
<td>".$description."</td>
<td>".$date_achat."</td>
<td><center>".$qu."</center></td></tr></table ></div>");
}
echo("</table>");
}

En plus il m'affiche une érreur : Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource

Pouvez me dire ce que je dois ajouter/supprimer/modifier pour qu'il m'affiche autant de ligne qu'il n'y a de composant ? Merci de votre aide

---

Administrateur réseaux sous Windows Server 2003 et 2008 Bêta et sous Linux Debian
A voir également:

3 réponses

kij_82 Messages postés 4089 Date d'inscription   Statut Contributeur Dernière intervention   857
 
Attention !!
Ton erreur vient du fait que tu utilise le même nom de variable pour deux choses qui n'ont rien avoir entre elle :
$resultat=mysql_fetch_assoc($resultat))

Tu met ta ligne courante dans $resultat qui est en fait ton resultSet sur lequel tu es sencé roller.. donc ton prog passe bien une première fois dans ta boucle, et la variable $resultat devient donc un tableau au lieu d'un résultSet, donc le tour d'après ta condition n'est plus vérifiée et ton prog sort de la boucle. Au final tu n'as qu'une ligne d'affichée.

Remplace donc correctement tes variables en renommant ainsi :
while ( $ligne=mysql_fetch_assoc($resultat)) {
  $categorie=$ligne['categorie'];
   ...
 

0
Profil bloqué
 
Bien vue Kij_82.L'oeil du programmeur.j'ai même pas remarqué.Jespére qu'il lui résoudra son compte!
0
sipherion Messages postés 1809 Date d'inscription   Statut Membre Dernière intervention   286
 
Ok, c'est tout bon, ca marche nickel. La fatigue certainement qui m'a fait utiliser deux fois la même variable. Erreur bête, je me sens nul de pas l'avoir trouvé avant ! Mais comme tu l'as dit Slum-dunk, il faut avoir l'œil du programmeur ! Merci encore
0