Erreur requete SQL

fiacre -  
 fiacre -
Bonjour,
j'ai un code me permettant d'afficher le contenu de ma biblio suivant le genre de livres selectionné.A l'affichage, j'ai un tableau vide .j'arrive pas à situer mon erreur.
Voici mon code
<form action = "resultat_g.php" method = "post">
<fieldset>

<table align= "center" border=0 cellPadding=10 cellSpacing=1>

<tr><td>Genre </td><td><select name="genre">
<option value=""></option>
<option value="roman">Roman</option>
<option value="poesie">Poésie</option>
<option value="developpement">Developpement</option>
</select></td></tr>
<tr><td></td><td><input type="submit" value="Afficher" ></td></tr>
</table>
</fieldset>
</form>
--------------------------------------------
code de recuperation:
$rec_genre= $_POST['genre'];print $rec_genre;
$affich = "select * from livre where genre = '\".$rec_genre.\"'";
$res = mysql_query($affich,$liaison) or die('Erreur SQL !<br />'.$res.'<br />'.mysql_error());
$liste = mysql_fetch_assoc($res);
while($liste)
{ print "<tr><td>".$liste["id"]."</td><td>" .$liste["titre"]."</td><td>".$liste["auteur"]."</td><td>"
.$liste["annee"]."</td><td>".$liste["genre"]."</td><td>".$liste["etat"]."</td></tr>";
}

2 réponses

  1. ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   342
     
    $affich = "select * from livre where genre = '$rec_genre';";
    [...]
    while($liste = mysql_fetch_assoc($res))
    {
    print "<tr><td>{$liste['id']}</td><td>{$liste['titre']}</td><td>{$liste['auteur']}</td><td>{$liste['annee']}</td><td>{$liste['genre']}</td><td>{$liste['etat']}</td></tr>"; 
    }


    Ca serait mieux de tout mettre dans un script ... Tu veux que je te montre ?
    1
    1. ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   342
       
      T'as oublié de corriger la ligne du while, c'est pour ça que ça ne fonctionne pas. Là il part en boucle infinie vu que $list ne devient jamais null vu que rien ne le modifie.
      0
    2. fiacre
       
      je ne vois pas ce que he dois corriger dans le while

      ?php
      $rec_genre= $_POST['genre'];print $rec_genre;
      $affich = "select * from livre where genre = '$rec_genre';";
      $res = mysql_query($affich,$liaison) or die('Erreur SQL !<br />'.$res.'<br />'.mysql_error());
      $liste = mysql_fetch_assoc($res);
      while($liste)
      print "<tr><td>".$liste["id"]."</td><td>" .$liste["titre"]."</td><td>".$liste["auteur"]."</td><td>"
      .$liste["annee"]."</td><td>".$liste["genre"]."</td><td>".$liste["etat"]."</td></tr>";
      ?>
      0
    3. ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   342
       
      while($liste = mysql_fetch_assoc($res))
      FAUT LIRE HEIN (tant que t'y es, lis aussi mon post #4)
      0
    4. fiacre
       
      trop cool !! ça marche.
      j'avais la tete ailleurs.
      Merci c'est très gentil
      0
  2. ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   342
     
    Ceci (https://pastebin.com/caWd1Xuk) devrait fonctionner. Fais de même pour tes autres scripts, ton appli prendra 2x moins de place. Pour les header/footer, tu peux les mettre dans une lib (sous forme de fonctions) et les appeler dans tes scripts. Ce sera plus facile à modifier et le code source sera plus court (plus lisible, donc).
    0
    1. fiacre
       
      Infiniment merci .Tes conseils seront appliqués à la lettre
      Encore merci
      0