Bonjour à tous,
Je viens d'atteindre mes limites en matières de php et de requête sql...
Voilà, je souhaite faire apparaître les résultats d'une base de données en fonction de 3 critères.
Mais je voudrais pouvoir à la fois afficher les résultats selon 3 critères renseignés ou laisser le choix de ne donner qu'un seul critère.
Or, pour l'instant, j'arrive à afficher le résultat si les 3 critères sont remplis, mais s'il en manque un, ça ne renvoie aucun résultat.
Voici le code de la page de résultats :
Quelqu'un a-t-il une piste pour mon problème ?
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38 if (!empty($style) OR !empty($prix) OR !empty($lieu) ) { if ($style<>"35") { $testStyle=1; } if (!empty($prix)<>"") { $testPrix=2; } if (!empty($lieu)<>"") { $testLieu=4; } $test=$testStyle+$testLieu+$testPrix; switch ($test) { case 1: $search = mysql_query("SELECT *FROM $pdpproduit WHERE styleid='$style' ORDER BY nom") or die ("ERROR:" . mysql_error()); break; case 2: $search = mysql_query("SELECT *FROM $pdpproduit WHERE prixid='$prix' ORDER BY nom") or die ("ERROR:" . mysql_error()); break; case 4: $search = mysql_query("SELECT *FROM $pdpproduit WHERE lieuid='$lieu' ORDER BY nom") or die ("ERROR:" . mysql_error()); break; case 3: $search = mysql_query("SELECT *FROM $pdpproduit WHERE styleid='$style' AND prixid='$prix' ORDER BY nom") or die ("ERROR:" . mysql_error()); break; case 5: $search = mysql_query("SELECT *FROM $pdpproduit WHERE styleid='$style' AND lieuid='$lieu' ORDER BY nom") or die ("ERROR:" . mysql_error()); break; case 6: $search = mysql_query("SELECT *FROM $pdpproduit WHERE prixid='$prix' AND lieuid='$lieu' ORDER BY nom") or die ("ERROR:" . mysql_error()); break; case 7: $search = mysql_query("SELECT *FROM $pdpproduit WHERE styleid='$style' AND prixid='$prix' AND lieuid='$lieu' ORDER BY nom") or die ("ERROR:" . mysql_error()); break; }
Merci d'avance !
Partager