Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3033 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Problème conditions requete SQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème conditions requete SQL

n°1959525
martomy
Posté le 21-01-2010 à 22:00:18  profilanswer
 

Bonsoir,
Je suis entrain de préparer un site internet pour mon bac de fin d'année et voila que je butte déja.
Il s'agit d'un site de petites annonces.
 
J'ai un formulaire en php permetant de "trier" les annonces celon les besoins des l'utilisateurs (prixmax, prixmin, categorie, etc..)
Le probleme est que lorsque l'utilisateur ne choisi pas de catégorie, celle par défaut est "Toutes catégories" mais aucun annonce n'a comme catégorie cette dernière!  
 
Voici le code:
 

Code :
  1. <?php
  2. $titre= htmlspecialchars ($_POST["titre"]);                   // récupération des variables du formulaire
  3. $categorie= htmlspecialchars ($_POST["categorie"]);
  4. $prix_min= htmlspecialchars ($_POST["prix_min"]);
  5. $prix_max= htmlspecialchars ($_POST["prix_max"]);
  6. $contenu= htmlspecialchars ($_POST["contenu"]);
  7. $region= htmlspecialchars ($_POST["region"]);
  8. $cp= htmlspecialchars ($_POST["cp"]);
  9. $ville= htmlspecialchars ($_POST["ville"]);
  10. if ($prix_max ==NULL)
  11. {
  12. $prix_max=100000000000000000000000000000;
  13. }
  14. if ($prix_min ==NULL)
  15. {
  16. $prix_min=0;
  17. }
  18. mysql_connect("sql.free.fr", "***", "***" );      // connection à la base de donnée
  19. mysql_select_db("***" );
  20. $reponse = mysql_query("SELECT * FROM annonce WHERE titre LIKE '%$titre%' AND prix <= $prix_max AND prix >= $prix_min" );   // requete sql
  21. [...]
  22. mysql_close();
  23. ?>


 
Comment pourais-je faire pour que la requete puisse ignorer cette condition?
 
merci pour vos réponces
Bonne soirée à tous


Message édité par martomy le 21-01-2010 à 22:13:57
mood
Publicité
Posté le 21-01-2010 à 22:00:18  profilanswer
 

n°1959710
MagicBuzz
Posté le 22-01-2010 à 14:20:13  profilanswer
 

Je ne vois pas le rapport entre "trier par prix, catégorie, etc." et filtrer par "catégorie"...

 

Bon, on va dire que tu veux filtrer soit par la catégorie passée en paramètre, soit toutes les catégorie si pas de choix utilisateur.

 
Code :
  1. $sql = "SELECT * FROM annonce WHERE titre LIKE '%$titre%' AND prix <= $prix_max AND prix >= $prix_min"
  2.  
  3. if (strlen($categorie) > 0)
  4. {
  5.  $sql += " and categorie = '$categortie'";
  6. }
  7.  
  8. $reponse = mysql_query($sql);


Message édité par MagicBuzz le 22-01-2010 à 14:20:47
n°1959757
rufo
Pas me confondre avec Lycos!
Posté le 22-01-2010 à 15:59:40  profilanswer
 

au passage, c'est quoi cette connerie :??:

Code :
  1. $prix_max=100000000000000000000000000000;


Ca m'étonnerait que php gère des entiers avec un tel nb de chiffres :/
 
Je ferais plutôt :

Code :
  1. if (!empty($prix_max))
  2. {
  3.     $sql .= " and prix <= $prix_max";
  4. }


 
ps : MagicBuzz, la concat en php, c'est .= et pas += (ça, c'est pour les nombres).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Problème conditions requete SQL

 

Sujets relatifs
probleme de redirectionprobleme IE - site EXTENSIBLE -- site d'archi
SQL/PHP BDD de réservation de chambresProblème avec un site full flash
Problème d'integration du module javascript Lighbox avec une bdd mysqlProblème de code css
Serveur apache plante à cause de problème dans code?[VBS] Problème avec le mapping
Probleme requête alter table 
Plus de sujets relatifs à : Problème conditions requete SQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR