Rechercher un mot dans une phrase [Résolu]

Signaler
Messages postés
29
Date d'inscription
mercredi 23 mars 2005
Statut
Membre
Dernière intervention
11 mai 2005
-
Messages postés
33
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
19 mai 2006
-
Bonjour,

je souhaite creer une fonction permetant de savoir si un mot est contenu dans une phrase. Le mot et la phrase etant contenus chacun dans une variable.

Merci

7 réponses

Messages postés
29
Date d'inscription
mercredi 23 mars 2005
Statut
Membre
Dernière intervention
11 mai 2005

J'ai trouvé avec un peu de mal an utilisant MATCH AGAINST, je fais:

$sql = "SELECT titre,descriptif,adresse FROM actualites WHERE MATCH (titre, descriptif) AGAINST ('+erreur' IN BOOLEAN MODE)";
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Messages postés
29
Date d'inscription
mercredi 23 mars 2005
Statut
Membre
Dernière intervention
11 mai 2005

C'est ce qu'il me faut.

Mais j'ai encore besoin d'aide. Je fait une fonction de recherche pour mon site. Je fais des requetes SQL. Pour trouver un mot precis, c'est facile mais pour trouver un mot dans le dans la requette la c'est plus corsé.
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Bah mets plutot ce que tu as fait. Sinon regarde la :



http://dev.mysql.com/doc/mysql/en/fulltext-search.html



c'est tres pratique!
Messages postés
29
Date d'inscription
mercredi 23 mars 2005
Statut
Membre
Dernière intervention
11 mai 2005

Voila un morceau de code :

$mot = "error";

$sql = 'SELECT site,nom_photo,commentaire,adresse FROM diaporama WHERE site="'.$mot.'" OR nom_photo="'.$mot.'" OR commentaire="'.$mot.'" OR adresse="'.$mot.'"';
$resultat = mysql_query($sql) or die ("La requete RECHERCHER ne passe pas!
$sql
".mysql_error());


while($data = mysql_fetch_array($resultat))
{
$site = $data['site'];
$nom_photo = $data['nom_photo'];
$commentaire = $data['commentaire'];
$adresse = $data['adresse'];


if($site != '')
{
echo " $site - $nom_photo";
echo "
";
echo "    $commentaire";
}
}

Mais le si le mot 'error' est contenu dans une phrase ca ne fonctionne plus. C'est ce probleme que je souhaite resoudre
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Soit tu utilises ce que je t#ai donne, soit tu utilises la clause LIKE et le joker %



regarde aussi ca dans la doc.
Messages postés
33
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
19 mai 2006

je vois pas pourquoi tu te prend la tête:

$sql = "SELECT titre,descriptif,adresse FROM actualites WHERE titre LIKE '%mot%' OR descriptif like '%mot%' ";

c'est beaucoup plus simple à manier pour un débutant.

% est un caractère joker (équivalent de * pour la recherche sous windows), après rien de plus simple