|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : octobre 2008 Messages : 72 ![]() |
Salut
Je voudrais faire une formulaire du recherche qui contient plusieurs champs : textes et listes déroulantes. Le problème est si un visiteur rempli tous les champs ca ne fait aucun souci dans la requête, mais le visiteur peut ne pas remplir tous les champs et comme sa je pense qu'il me faut plusieurs conditions. Savez-vous une méthode pour bien réaliser ce moteur de recherche compliqué ? Merci d'avance |
|
|
00
|
|
|
#2 | ||
|
Futur Membre du Club
![]() Inscription : octobre 2008 Messages : 72 ![]() |
J'ai réussi a faire comme ca:
Code :
Pouvez vous m'aider SVP ? |
||
|
|
00
|
|
|
#3 |
|
Membre éclairé
![]() Olivier Étudiant Inscription : novembre 2010 Messages : 303 ![]() |
Bonjour,
Pour le like il te suffit de faire ainsi : Code php :
$sql = mysql_query("SELECT * FROM masteres WHERE $critere AND monChamp LIKE '%recherche%' ORDER BY id") or die(mysql_error()); Il te suffit ensuite de remplacer monChamp par le champ correspondant et rechercher par le mot à rechercher. |
|
|
00
|
|
|
#4 | |
|
Futur Membre du Club
![]() Inscription : octobre 2008 Messages : 72 ![]() |
Citation:
|
|
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Inscription : octobre 2008 Messages : 72 ![]() |
j'ai essayé comme ca:
Code :
$sql = mysql_query("SELECT * FROM masteres WHERE $critere LIKE '%$critere%' ORDER BY id") or die(mysql_error()); You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'fssfs' %' ORDER BY id' at line 1 |
|
|
00
|
|
|
#6 |
|
Membre éclairé
![]() Olivier Étudiant Inscription : novembre 2010 Messages : 303 ![]() |
Ah !
Je crois avoir compris, en fait tout tes champs que tu récupère en $_POST sont les champs que tu souhaite rechercher grâce à LIKE ? Dans ce cas je m'excuse mais ce n'est pas ainsi qu'il faut procéder. Tu as d’ailleurs commencé mais c'est incomplet. Je prend par exemple cette ligne : Code php :
if(!empty($sujet)) { $choix[$i++] = "titre = '$sujet'"; } Code php :
if(!empty($sujet)) { $choix[$i++] = "titre LIKE '%$sujet%'"; } Tu fait ensuite la même chose pour les autres et tu utilise la requête que tu avait avant : Code php :
$sql = mysql_query("SELECT * FROM masteres WHERE $critere ORDER BY id") or die(mysql_error()); |
|
|
10
|
|
|
#7 | |
|
Futur Membre du Club
![]() Inscription : octobre 2008 Messages : 72 ![]() |
Citation:
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com