Bonjour,

J'essaye de récupérer des éléments en BD en fonction de critères sélectionnés que je récupère par $_GET .
Dans ma requête actuel, je ne parviens pas à afficher les bonnes données liées à $_GET['carb'] et $_GET['vit'] .

Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<select name="vitesse_voiture">
<option value="0">Tous</option>
<option value="1">Manuelle</option>
<option value="2">Automatique</option>
</select>
Je fais passer les sélections dans l'url de la page de destination soit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
/mapage.php?carb=0&vit=1
Pour la requête, je veux faire en sorte que :

si $_GET['vit']==0 -> la recherche s'effectue sur tout, c'est à dire que la requête doit sélectionner tout ce qui concerne ce champ et différent de 0 ..idem pour l'autre.
En gros, si variable=0 -> recherche globale . Si variable=1 -> recherche sur 1 uniquement. etc...

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
 
if($_GET['carb']!=0){
$tcarburant = ' AND carburant_voiture = \'".mysql_real_escape_string($_GET[\'carb\'])."\' ';
}
if($_GET['vit']!=0){
$tvitesse = ' AND vitesse_voiture = \'".mysql_real_escape_string($_GET[\'vit\'])."\' ';
}
$query = mysql_query("SELECT * FROM matable
WHERE code_postal LIKE '".$_GET['cp']."%' 
AND titre_annonce LIKE '%".$_GET['key']."%' 
AND id_sous_categorie ='".mysql_real_escape_string($id_de_la_sous_categorie)."' 
AND region='".mysql_real_escape_string($id_de_la_region)."'
".$tcarburant."
".$tvitesse."
AND valide='1' 
ORDER BY timestamp ASC");
Je me triture les neurones dans tout les sens et je ne vois pas ce qui cloche dans mon code...

Merci de votre aide (si vous avez comprit mes explications).