Moteur de recherche

Tilix Messages postés 171 Date d'inscription samedi 4 décembre 2004 Statut Membre Dernière intervention 31 août 2009 - 23 août 2005 à 21:21
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 24 août 2005 à 13:59
Salut, je cherche à faire un moteur de recherche avec plusieurs champs, de ce genre :











Je sais qu'il faut le faire avec une requete sql du type



SELECT * FROM matable WHERE prenom LIKE '".$_POST['prenom']."' ... etc.



Mais si un champ est " vide ", celui ci doit tout prendre en compte... (tous les prénoms, tous les ages...)

Et je ne vois pas trop comment faire la totalité de celui ci...



Si vous pouvez m'aider à faire la requete avec ces 3 champs :p



Merci beaucoup



Tilix

2 réponses

J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
23 août 2005 à 21:45
Salut,



A l'emporte pièce... je dirais:



if( isset($_POST['prenom'] and trim($_POST['prenom']!='') ) {

$prenom = " prenom LIKE '".$_POST['prenom']."' ";

} else {

$prenom = '1';

}

// idem avec les autres champs...

$query = "SELECT FROM `matable` WHERE $prenom AND $nom AND ...";



Voila, c'est pas trés élégant les series de if-else... enfin bon. J'ai dis "à l'emporte pièce". NON MAIS!
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
24 août 2005 à 13:59
t'as juste une recherche dans des champs assez simples...
quand tu recherches dans un champ un peu plus grand et que tu veux trouver des mots :

$req=mysql_query('SELECT
a.titre, COUNT(b.id_article) as limite,
((LENGTH(a.texte)-LENGTH(REPLACE(a.texte, "'.$search.
'","")))/'.strlen($search).') as length
FROM articles as a, articles as b
GROUP BY b.id_article<a.id_article
ORDER BY length
LIMIT 10;')

c'est une recherche dans les champs texte d'une table articles
0
Rejoignez-nous