Petit moteur de recherche pour BDD

Eléphant du PHP | 75 Messages

02 sept. 2005, 03:15

Bonsoir a vous,

voilà je me suis fais un petit moteur de recherche pour fouiller mes tables dans ma BDD
$result = htmlentities($_POST['result']);

$recherche = mysql_query("SELECT * FROM matable WHERE categorie='$result' OR  nom='$result'  OR  pseudo ='$result' ORDER BY date AND id DESC");
   
    if(mysql_numrows($recherche)!=0)//si la requete comporte au moins une ligne dc un annonce
    {
        while ($listing = mysql_fetch_array($recherche))
        {
            echo '.... '; ////affiche le résultat
		}	
	}
	else
	{
	echo '<p>Désolé aucunes réponses pour votre recherche</p>';
	}
le défaut de ce système est qu'il faut taper la syntaxe exacte de la valeur qu'on cherche, par exemple si je cherche le pseudo 'gros bob" si je tape que 'bob' ça ne marche pas...
quelqu'un pourrait me dire comme faire pour fouiller les textes dans mes tables à la recherche du mot et non de la syntaxe exact?

Merci
Celui qui confesse son ignorance la montre une fois, celui qui essaie de la cacher la montre plusieurs fois...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

02 sept. 2005, 05:00

Bonjour,

C'est grace à l'opérateur MySQL LIKE:
$recherche = mysql_query("SELECT * FROM matable WHERE categorie='$result' OR  nom LIKE '%$result%'  OR  pseudo LIKE '%$result%' ORDER BY date AND id DESC"); 
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 75 Messages

02 sept. 2005, 05:08

ça marche niquel chrome c'est exactement ce qu'il me fallait!!
merci!
Celui qui confesse son ignorance la montre une fois, celui qui essaie de la cacher la montre plusieurs fois...