Problème de requète SQL

Résolu
-Xenon- Messages postés 144 Statut Membre -  
lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Alors voila mon problème :

Je fais une recherche par critère de selection dans une base de donnée SQL :

$req = mysql_query('SELECT * FROM commerce ORDER BY prix DESC LIMIT ' . $page_afficher . ',' . $nombre_vente_par_page);

while($rep = mysql_fetch_array($req))

Jusque la pas de problème ! Et lorsque je veux ajouter un critère de selection :

$req = mysql_query('SELECT * FROM commerce WHERE matiere = ' . $matiere . ' ORDER BY prix DESC LIMIT ' . $page_afficher . ',' . $nombre_vente_par_page . '');

j'obtient cette erreur :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Evoluptia\commerce.php on line 226

pourquoi cette erreur alors que toutes mes variables fonctionne ?

Merci d'avance pour votre aide !
Configuration: Windows Vista
Firefox 2.0.0.14

3 réponses

  1. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    bonjour je suppose que la ligne 226 correspond a ta requete ??
    $page_afficher est bien definie ?
    1
    1. -Xenon- Messages postés 144 Statut Membre 17
       
      oui oui tout est bien défini :

      if(isset($_GET['id']) && isset($_GET['matiere']))
      {
      include("connect.php");
      $matiere = $_GET['matiere'];
      $id = $_GET['id'];
      $nombre_vente_par_page = 6;
      $retour = mysql_query("SELECT COUNT(*) AS nb_entree FROM commerce WHERE matiere = '$matiere'");
      $don = mysql_fetch_array($retour);$total_entree = $don['nb_entree'];
      $nb_page = ceil($total_entree/$nombre_vente_par_page);

      if(isset($_GET['page']))
      {
      $page = ($_GET['page']);
      }
      else
      {
      $page = 1;
      }
      $page_afficher = (($page-1)*$nombre_vente_par_page);
      ?>
      <table>
      <tr>
      <th>Pseudo</th>
      <th>Matière</th>
      <th>Quantité</th>
      <th>Prix</th>
      <th></th>
      </tr>
      <?php
      $req = mysql_query('SELECT * FROM commerce WHERE matiere = ' . $matiere . ' ORDER BY prix DESC LIMIT ' . $page_afficher . ',' . $nombre_vente_par_page . '');

      while($rep = mysql_fetch_array($req))
      {
      // resultat du array
      }
      }// fermeture du isset
      0
  2. -Xenon- Messages postés 144 Statut Membre 17
     
    C'est bon j'ai trouvé :D ! il suffisait juste de faire une condition en dessous de la requête SQL :

    <?php
    $req = mysql_query('SELECT * FROM commerce ORDER BY prix DESC LIMIT ' . $page_afficher . ',' . $nombre_vente_par_page);
    while($rep = mysql_fetch_array($req))
    {
    if($rep['matiere'] == $matiere)
    {
    //boucle while + condition
    }
    }
    ?>

    Merci quand même ^^
    1
  3. lewis34 Messages postés 2557 Date d'inscription   Statut Membre Dernière intervention   352
     
    de rien et bon dev

    @+
    1