Recherche multicritère

sanoussa -  
Posotaz Messages postés 505 Statut Membre -
Bonjour,
j'ai une base de données qui compren une table "livre". dans un formulaire je veux faire une recherche multicritère(soit une recherche qui se fait par ISBN du livre, soit par auteur...) pour pouvoir consulter les enregistrement de la table . voila donc le formulaire

<form action="recherche.php" method="post" name="rech_form">

Intitulé de la recherche <input name="motcle" type="text" size="30" />
Filtre de recherche <select name="choix">
<option value=""></option>
<option value="ISBN">ISBN</option>
<option value="tit_liv">Titre</option>
<option value="aut_liv">Auteur</option>
</select>
<input name="OK" type="submit" value="OK" />
</form>

mais le problème c'est que j'arrive pas a faire le script dans la page recherche.php (utiliser case ou if? , like??)
aider moi svp g tellement chercher sur le net et tjr rien :(

1 réponse

Posotaz Messages postés 505 Statut Membre 225
 
Salut Sanoussa,

Toute la force de ta requête se trouve dans le langage SQL.

Supposant que la zone d'options (ISBN, tit_liv, aut_liv) contienne exactement des noms de tes champs de ta table "livre", côté recherche.php tu dois construire ta requête SQL...

SELECT les_champs_que_tu_veux_pour_le_livre_recherché
FROM livre
WHERE $la_varable_qui_contient_le_nom_du_champ_où_chercher LIKE '%$la_variable_qui_contient_le_mot_clé%'

Aucune structure conditionnelle n'est demandée à moins que ta zone d'options ne contienne pas le nom exact des champs de ta table livre ; la il faudra faire la correspondance par programmation pour savoir quel champ mettre dans la clause WHERE.

Bon courage !

PS : Ceci n'est pas une recherche multicritères dans la mesure où une balise select/option ne te permet généralement pas de sélectionner plus d'une valeur. Tu le dis bien dans le détail de ton problème : "soit par, soit par..." ;-)
0