Requete MySQL => Pas d'affichage

Résolu/Fermé
sipherion Messages postés 1798 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 - 3 déc. 2007 à 15:02
sipherion Messages postés 1798 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 - 3 déc. 2007 à 16:56
Bonjour à tous !
Je me permet de poster un nouveau sujet car j'ai encore un problème :

Je souhaiterais faire afficher sur une page la liste de composants enregistrés au préalable. J'ai utilisé deux codes php possibles qui devraient donner le même résultat, mais aucun des deux n'affiche quoi que ce soit.

Voici le code de la première solution :

$requete="select nom,categorie,description,date_achat,quantite,marque from composant;";
$resultat=mysql_query($requete);
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>");
echo ("<tr><td>".$resultat['categorie']."</td>
<td>".$resultat['nom']."</td>
<td>".$resultat['marque']."</td>
<td>".$resultat['description']."</td>
<td>".$resultat['date_achat']."</td>
<td><center>".$resultat['quantite']."</center></td></tr></table>");


Elle n'affiche que le tableau avec les titres des rubriques. Deuxième solution que j'ai trouvé :

$requete="select nom,categorie,description,date_achat,quantite,marque from composant;";
$resultat=mysql_query($requete);
$categorie=$resultat['categorie'];
$nom=$resultat['nom'];
$marque=$resultat['marque'];
$description=$resultat['description'];
$date_achat=$resultat['date_achat'];
$qu=$resultat['quantite'];
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>");
echo("<tr><td>".$categorie."</td><td>".$nom."</td><td>".$description."</td><td>".$date_achat."</td><td><center>".$qu."</center></td></tr>");
echo("</table>");


Pareil, elle ne m'affiche que le tableau. Je sais que je peux optimiser le codee, mais on verra ca plus tard.

Pouvez vous peut etre m'aider et m'indiquer pourquoi rien ne s'affiche a part la première ligne ?

4 réponses

Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 383
3 déc. 2007 à 15:06
Bonjour,

Sur le forum, en suivant le lien ci-dessous tu devrais trouver la réponse à ton problème:

Récupérer données requête MySql

A plus
0
Jean-François Pillou Messages postés 18707 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 63 266
3 déc. 2007 à 15:08
Malheureux, ça ne fonctionne pas comme ça :-)

mysql_query permet de faire la requête et retourne un enregistrement, qu'il faut parcourir pour récupérer les lignes :

$requete="select nom,categorie,description,date_achat,quantite,marque from composant;";
$mysql_result=mysql_query($requete);

if(mysql_num_rows($mysql_result)){
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($mysql_result)){
    $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.&q uot;</td><td>".$description."</td><td>".$date_achat ."</td><td><center>".$qu."</center></td></ tr>");
  }
echo("</table>"); 
}


J'ai ajouté un test permettant de vérifier que la requête renvoie bien quelque chose dans l'enregistrement avant de le parcourir, afin d'éviter un vilain warning !
0
sipherion Messages postés 1798 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 285
3 déc. 2007 à 15:22
Chrostounet => Je l'avais déja lu, mais ca n'a pas résolu mon problème...

Jeff => Merci de ta réponse, ca m'affiche en effet un résultat, mais pas celui désiré.

Déja, il me met une erreur : mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource

Ensuite, il ne m'affiche qu'un seul résultat, et le plus récent ! il s'agit d'une liste de composants préalablement enregistrés, et je voudrais avoir la liste entière !
0
sipherion Messages postés 1798 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 19 décembre 2016 285
3 déc. 2007 à 16:56
Ok, c'est bon finalement j'ai trouvé, j'avais modifié un peu ton code pour le faire rentrer dans ma config, et je me suis planté sur une variable, en lui donnant le même nom qu'une autre... Donc conflit... Et ouais ! lol Merci quand même pour ton aide !
0