Bonjour,
tous marchais et j'ai du faire un truc que je n'arrive pas retourver!!!!!
J'ai un formulaire a 4 champs
Quand on fait "envoyé" il va intérroger une base et affiche les info en fonction de ce qui a été sélectionner dans le focrmulaire.
Pas tres compliquer.
Mon probleme c'est dans on dernier champs, quand je laisse "tous" tout est filtré. C'est dire il y a rien qui est retourné. C'est drolement etrange car il est identique au champs précédent:
Précision important:
Si le champs f_prix, je le laisse sur tous (donc %) il me filtre tous, mais tous. Il y a rien qui afficher sur ma page web. PAR CONTRE, si je selction une valeur, par exemple < 900, il me retourne et correctement tous ce qui est en dessous de 900. Si j'ajoute un autre filtre, motos, par exemple, il me retourne que les motos en dessous de 900.
Mais quand je laisse "Tous", tout est filtré.
Pourtant le champs f_prix et f_cylindree ont la meme "configuration". A moin que j'aie loupé un truc.
Voici mon code:
Le formulaire
et mon code PHP qui va trier dans la bas
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 <form method="post" action=""> <input type="hidden" value="1" name="f_sent"> <table border="0" cellpadding="0" cellspacing="0"> <tr> <td class="td-occasion">Type : </td> <td> <select size="1" name="f_type" onFocus="javascript:this.style.backgroundColor=#ffffff"> <option value="%" selected>Tous</option> <option value="Motos">Motos</option> <option value="Scooters">Scooters</option> </select> </td> </tr> <tr> <td>Marque : </td> <td> <select size="1" name="f_marque"> <option value="%" selected>Tous</option><option value='Aprilia'>Aprilia</option><option value='Kymko'>Kymko</option><option value='Peogeot'>Peogeot</option><option value='SYM'>SYM</option><option value='Yamaha'>Yamaha</option> </select> </td> </tr> <tr> <td>Cylindrée : </td> <td> <select size="1" name="f_cylindree"> <option value="%" selected>Tous</option><option value='50'>50 ccm et moins</option><option value='125'>50 ccm et 125 ccm</option><option value='400'>125 ccm et 400 ccm</option><option value='601'>600 ccm et 1000 ccm</option><option value='1000'>1000 ccm et plus</option> </select> </td> </tr> <tr> <td>Prix : </td> <td> <select size="1" name="f_prix"> <option value="%" selected>Tous</option><option value='900'>< 900</option><option value='1500'>< 1500</option><option value='1900'>< 1900</option><option value='2900'>< 2900</option><option value='3390'>< 3390</option><option value='4900'>< 4900</option><option value='6900'>< 6900</option><option value='9900'>< 9900</option> </select> </td> </tr> <tr> <td colspan="2"> </td></tr> <tr> <td colspan="2"> <input type="submit" value="Envoyer" name="send" class="bouton"> <input type="reset" value="Rétablir" name="reset" class="bouton"> </td> </tr> </table> </form>
Code PHP : 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 $sql= 'SELECT * FROM tb_scootershop WHERE fd_type LIKE "'.$type.'" AND fd_marque LIKE "'.$marque.'" AND fd_cylindree LIKE "'.$cylindree.'" AND fd_prix <= "'.$prix.'"'; $query=mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); $nb = mysql_num_rows($query); if ($nb < 1) { echo 'Aucun enregistrement selon vos critères de recherche'; } else { echo '<table class="occasion" cellspacing="0" cellpadding="0"><tr> <td class="red">Type</td> <td class="red">Marque</td> <td class="red">Modèle</td> <td class="red">Cylindree</td> <td class="red">Prix</td> <td class="red">Description</td> <td class="red">Photo</td> </tr>'; while($data = mysql_fetch_assoc($query)){ echo '<tr class="hover"><td>'; echo ucfirst($data['fd_type']); echo '</td><td>'; echo '<strong>'.ucfirst($data['fd_marque']).'</strong>'; echo '</td><td>'; echo $data['fd_modele']; echo '</td><td>'; echo $data['fd_cylindree']; echo '</td><td>'; echo $data['fd_prix']; echo '</td><td>'; echo $data['fd_desc']; echo '</td><td>'; echo '<a href="img/occasions/'.$data['fd_image'].'" target="_blank" rel="lightbox" title="'.$data['fd_marque'].', '.$data['fd_modele'].', Sfr. '.$data['fd_prix'].'"><img src="img/camera.gif" /></a>'; echo '</td></tr>'; } echo '</table>'; }
Mas base st comme ceci,
Tous les champs sont de "varchar" à l'exption de :
id => int(4)
fd_prix => smallint(10)
fd_cylindree => smallint(10)
Mais pourquoi mon champs f_prix (fd_prix) me cause un probleme????
Partager