Affichage du texte recherché en gras

Fermé
zippeur Messages postés 197 Date d'inscription dimanche 9 novembre 2008 Statut Membre Dernière intervention 5 juin 2017 - 8 avril 2009 à 01:15
adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 - 14 avril 2009 à 11:48
Bonjour,
J'ai voulu faire un moteur de recherche . Tout marche, seulement j'ai voulu que tous les mots qui causent ma recherche soient en gras dans les textes retournés (c comme dans google, on tape un mot et ensuite on voit notre mot en gras dans le texte correspondant aux résultats).
A voir également:

8 réponses

zippeur Messages postés 197 Date d'inscription dimanche 9 novembre 2008 Statut Membre Dernière intervention 5 juin 2017 1
8 avril 2009 à 02:36
!!
0
zippeur Messages postés 197 Date d'inscription dimanche 9 novembre 2008 Statut Membre Dernière intervention 5 juin 2017 1
8 avril 2009 à 10:47
bonjour ya personne qui peux m'aider ?
0
adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
8 avril 2009 à 10:57
bonjour

a premiere vu ca a pas l'air trop diffcile
tu fais un truc du genre

$result = str_replace($mot,"<b>$mot</b>",$result);

un truc du genre ca devrait marcher ;)

Adns
0
zippeur Messages postés 197 Date d'inscription dimanche 9 novembre 2008 Statut Membre Dernière intervention 5 juin 2017 1
8 avril 2009 à 12:58
bon mon code c'est ... if(empty($_POST['search'])){echo"<br><center>Veuillez saisire votre recherche</center>";}

else
{
$search=strtolower($_POST['search']);//effectuer une recheche
$search=strtr($search,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');

//RUB QSN
//ACTU

$sql1="select * from actu";
$result1=mysql_db_query($dbname,$sql1,$id_link);

while($list1=mysql_fetch_array($result1))
{
$date = $list1['date_actu'];
$id=$list1['id_actu'];
$contenu1=$list1['titre'];
$chaine1=strtolower($contenu1);//trasformer la description en miniscule
$chaine1=strtr($chaine1,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');

if(EREG($search,$chaine1))
{
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zippeur Messages postés 197 Date d'inscription dimanche 9 novembre 2008 Statut Membre Dernière intervention 5 juin 2017 1
8 avril 2009 à 13:34
help
0
zippeur Messages postés 197 Date d'inscription dimanche 9 novembre 2008 Statut Membre Dernière intervention 5 juin 2017 1
8 avril 2009 à 15:03
Bonjour,
J'ai voulu faire un moteur de recherche . Tout marche, seulement j'ai voulu que tous les mots qui causent ma recherche soient en gras dans les textes retournés (c comme dans google, on tape un mot et ensuite on voit notre mot en gras dans le texte correspondant aux résultats).

Bon mon code c'est ...
-------------------------------------------------------------

if(empty($_POST['search'])){echo"<br><center>Veuillez saisire votre recherche</center>";}

else
{
$search=strtolower($_POST['search']);//effectuer une recheche
$search=strtr($search,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');

//RUB QSN
//ACTU

$sql1="select * from actu";
$result1=mysql_db_query($dbname,$sql1,$id_link);

while($list1=mysql_fetch_array($result1))
{
$date = $list1['date_actu'];
$id=$list1['id_actu'];
$contenu1=$list1['titre'];
$chaine1=strtolower($contenu1);//trasformer la description en miniscule
$chaine1=strtr($chaine1,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ','AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');

if(EREG($search,$chaine1))
{
0
zippeur Messages postés 197 Date d'inscription dimanche 9 novembre 2008 Statut Membre Dernière intervention 5 juin 2017 1
8 avril 2009 à 16:23
aidez moi
0
adns Messages postés 1094 Date d'inscription vendredi 23 février 2007 Statut Membre Dernière intervention 27 mars 2012 153
14 avril 2009 à 11:48
Zippeur,
je ne comprend pas comment ut peux faire une recherche en base alors que ta requete ne comporte aucune clause "WHERE".


voila, je pense, un exemple de ce que tu cherche:
(j'ai pris pour exemple une table article avec deux champs titre et detail)


page du formulaire :
<form action=recherche.php method=post>
Rechercher : <input type=text name=recherche /><br />
<input type=submit value=rechercher />
</form>



page de la recherche (recherche.php) :

// recuperation du mot rechercher
$mot_rechercher = $_POST['recherche']; 

 // recherche en base des article qui on un nom correspondant au mot (je ne sais plus trop s'il faut utiliser like ou regexp....
$sql = "select * from article where titre like $mot_rechercher";
$sql1 = mysql_query($sql);

While ($sql2 = mysql_fetch_array($sql1)){

//mise en gras des du mot rechercher dans les resultats
$titre = str_replace($mot_rechercher,"<b>$mot_rechercher</b>",$sql2['titre']); 
$detail = str_replace($mot_rechercher,"<b>$mot_rechercher</b>",$sql2['detail']);

//Affichage des resultats je te laisse le soin de le faire ;)
}






En esperant t'avoir aidé
Adns
0