Je reprends ci-dessous la solution donnée à une question concernant le surlignage des réponses à l'interrogation d'une base de données :
Ceci marche très bien à la condition de ne pas utiliser la fonction ireplace...Voyez:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $req=mysql_query("SELECT * FROM films WHERE name LIKE '%".$_POST['search']."%' ORDER BY name"); while($ligne=mysql_fetch_array($req)) { echo "<b>Nom du Film</b> :".$name."<br/><br/> <b>Genres :</b>".$ligne['type']."<br/><br/><b> Acteurs :</b>".$ligne['acteurs']."<br/><br/><b> Résumé :<br/></b>".$ligne['resume'].""; }
Fatal error: Call to undefined function: str_ireplace() in /
Mais, je souhaiterais améliorer un peu la solution proposée...
J'ai donc recours à votre aide, car je n'ai pas encore réussi.
Voilà ce que je voudrais arriver à faire :
que les résultats proposés soient mis en valeur au fur et à mesure que l'on tape des lettres.
Mon script permet de rechercher des mots en provençal dans une base de données,
mais avec votre script ci-dessus, pour que le mot trouvé soit mis en valeur,
il faut que la demande corresponde exactement à un mot dans la base .
Je souhaiterais que les premières lettres suffisent...
Je m'explique,ainsi actuellement,si la recherche porte sur troubadours il faut mettre l'intégralité du mot avec même le s du pluriel (car dans la base troubadour ne figure qu'au pluriel).
Je voudrais qu'en tapant dès les premières lettres:
tro* puis trou*, puis troub* puis trouba* etc;
on ait déjà la mise en valeur dans les résultats proposés.
Or,si l'on fait la recherche avec l'astérisque * les mots trouvés, ne sont pas surlignés dans les résultats proposés...
Ainsi, si je tape troubadour* la réponse s'affiche bien,mais sans la mise en valeur.
J'espère être clair dans ma question et je vous remercie d'avance pour votre aide.
http://www.ubaye-verdon.net/provence/formthmH.php?
Partager