par
maelinn » 01 mai 2008, 16:02
Bonjour !
J'ai un soucis avec mon moteur de recherche. J'ai crée un champ dans ma bdd qui recueille les mots clés d'articles que j'écris. Je voudrais que grâce au moteur de recherche, les visiteurs du site puissent retrouver un article les intéressant en faisant un tri par mot clé.
Le probleme c'est que si la personne rentre plusieurs mots clés, il n'obtiendra aucun résultat. Pour être claire, je voudrais que la recherche puisse se faire en multicritère.
Ex : un fichier avec mots clé "livre, aventure, fantasy" et un autre avec "aventure, urbain"
Si un visiteur fait une recherche avec les mots clé "aventure, fantasy", il ne devra trouver que le premier article.
Merci de votre aide
Mon code :
<form method="post" action="recherche.php#nav">
<p><input type="text" name="mot_cle"/></p>
<input type="submit" value="Rechercher"/>
</form>
<?php if (isset($_POST['mot_cle']) AND !empty($_POST['mot_cle']))
{
$mot_cle = mysql_real_escape_string(htmlspecialchars($_POST['mot_cle'], ENT_QUOTES));
$retour = mysql_query("SELECT * FROM livres WHERE mot_cle LIKE '%$mot_cle%'") or die("Erreur MySQL : " . mysql_error('erreur sql'));
Bonjour !
J'ai un soucis avec mon moteur de recherche. J'ai crée un champ dans ma bdd qui recueille les mots clés d'articles que j'écris. Je voudrais que grâce au moteur de recherche, les visiteurs du site puissent retrouver un article les intéressant en faisant un tri par mot clé.
Le probleme c'est que si la personne rentre plusieurs mots clés, il n'obtiendra aucun résultat. Pour être claire, je voudrais que la recherche puisse se faire en multicritère.
Ex : un fichier avec mots clé "livre, aventure, fantasy" et un autre avec "aventure, urbain"
Si un visiteur fait une recherche avec les mots clé "aventure, fantasy", il ne devra trouver que le premier article.
Merci de votre aide :D
Mon code :
[php]<form method="post" action="recherche.php#nav">
<p><input type="text" name="mot_cle"/></p>
<input type="submit" value="Rechercher"/>
</form>
<?php if (isset($_POST['mot_cle']) AND !empty($_POST['mot_cle']))
{
$mot_cle = mysql_real_escape_string(htmlspecialchars($_POST['mot_cle'], ENT_QUOTES));
$retour = mysql_query("SELECT * FROM livres WHERE mot_cle LIKE '%$mot_cle%'") or die("Erreur MySQL : " . mysql_error('erreur sql'));[/php]