Bonjour à toutes et à tous.
Voila, suite à un formulaire, je dois effectuer une recherche dans ma base.
Tout d'abord, le principe que j'ai mis en place est assez fastidieux :
Comme vous pouvez le voir, c'est assez primaire comme solution.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 $sql = "SELECT * FROM " . $table; if (($TTypeBien!="toutes")) { $sql = $sql . " WHERE type='" . $TTypeBien . "'"; } else $sql = $sql . " WHERE type!='" . $TTypeBien . "'"; if (($TSurfMin!="")&&($TSurfMin!="")) $sql = $sql . " AND 'surface' BETWEEN " . $TSurfMin . " AND " . $TSurfMax; if (($TPrixMin!="")&&($TPrixMax!="")) $sql = $sql . " AND 'prix' BETWEEN (". $TPrixMin . " AND " . $TPrixMax . ")"; //WHERE prix BETWEEN (" . $TPrixMin . " AND " . $TPrixMax .") "; if (($TVille!="toutes")) $sql = $sql . " AND ville='" . $TVille."'"; if ($cbBalconTerrase=="on") $sql = $sql . " AND (balcon='1' OR terrasse='1')"; if ($cbCaveGrenier=="on") $sql = $sql . " AND (cave='1' OR grenier='1')"; if ($cbAscenseur=="on") $sql = $sql . " AND (ascenseur='1')"; if ($cbParkingGarage=="on") $sql = $sql . " AND (parking='1' OR garage='1')"; if ($cbInterphone=="on") $sql = $sql . " AND (interphone='1')"; $sql = $sql . " ORDER BY reference";
De plus, mes requête de recherche par "encadrement de valeur" ne fonctionnent pas.
Dans cette exemple, je devrai avoir un retour :
Est-ce que quelqu'un pourrai m'aider à optimiser ma "construction de requête, mais surtout, me dire où ma syntaxe ne fonctionne pas?
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT * FROM ic_bienavendre WHERE type!='toutes' AND 'prix' BETWEEN (175000 AND 178000) ORDER BY reference
Merci d'avance. Bonne continuation à tous
Partager