Bonjour à tous...
Voilà:
Je souhaite vous demander comment intégrer à ce moteur un bout de code me permettant de surligner le ou les mots recherchés...
j'ai bien trouvé ce bout de code sur le net, cela mais je n'arrive pas à l'intégrer au code initial...
Voici mon code en exploitation actuellement emprunté sur un site et c'est à ce jour le meilleur que j'ai pu trouver.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 echo str_replace ($_POST['recherche']', <span style="text-decoration: underline;">'.$_POST['recherche'].'</span>', $resultat['description']);
Mais peut-être y-a-t'il d'autres solutions ??
Alors si vous aviez la gentillesse de me donner un coup de main. Merci par avance...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150 <?php // CONNEXION A LA BASE ------------------------------------------ // Code : PHP nouvelle connexion à la BBD pour travail.... mysql_connect("localhost", "root", ""); // Connexion à MySQL // "hote ou serveur", "login", "mot de passe" si il n\'y en a pas on laisse vide "" comme ça mysql_select_db("search_and_learn"); // Sélection de la base news (La fonction qui permet de sélectionner la BDD est : mysql_select_db) //.. le travail peut commencer... if (isset($_POST['rechercher'])) //si on a validé le formulaire { $recherche = mysql_real_escape_string(htmlspecialchars($_POST['recherche'])); //sécurisation des variables $mode = mysql_real_escape_string(htmlspecialchars($_POST['mode'])); if (isset($_POST['sujets_fermes'])) //si on a coché la case { $sujets_fermes = "AND citation ='1'"; } else //si on ne l'a pas coché { $sujets_fermes = ''; } if ($mode == "tous_les_mots") { $and_ou_or = 'AND'; //on utilisera AND dans la boucle } else { $and_ou_or = 'OR'; //on utilisera OR dans la boucle } if ($mode == "expression_exacte") //si le mode de recherche est par expression exacte { $selection_recherche = mysql_query("SELECT * FROM tbl_citation WHERE citation LIKE '%$recherche%' $sujets_fermes ORDER BY auteur DESC"); } else //si le mode de recherche n'est pas par expression exacte { $mots = explode(" ", $recherche); //séparation des mots $nombre_mots = count ($mots); //compte le nombre de mots $valeur_requete = ''; for($nombre_mots_boucle = 0; $nombre_mots_boucle < $nombre_mots; $nombre_mots_boucle++) //tant que le nombre de mots de la recherche est supérieur à celui de la boucle on continue en augmentant le nombre de mots de 1 à chaque fois { $valeur_requete .= '' . $and_ou_or . ' citation LIKE \'%' . $mots[$nombre_mots_boucle] . '%\''; //modification de la variable $valeur_requete } $valeur_requete = ltrim($valeur_requete,$and_ou_or); //suppression de AND ou de OR au début de la boucle $selection_recherche = mysql_query("SELECT * FROM tbl_citation WHERE $valeur_requete $sujets_fermes ORDER BY auteur DESC"); //requête avec le résultat de la boucle dedans } $nombre_resultats = mysql_num_rows($selection_recherche); //compte le nombre d'entrées sélectionnées par la recherche if ($nombre_resultats == 0) //si il n'y a pas de résultat { echo 'aucun resultat.<a href="recherche_citation.php">recommencer</a>'; } else //il y a au moins un resultat { echo 'nombre de résultats: ' . $nombre_resultats . ':<br /><br />'; //nombre de résultats while($resultats = mysql_fetch_array($selection_recherche) ) //boucle affichant les resultats { echo ' <br/> <strong >Auteur:</strong> <strong id="titre_search">' . $resultats['auteur'] .'</strong><br /> <strong>Citation:</strong> <br/> <textarea id="biographie" rows=26 COLS=218>' . $resultats['citation'] . '</textarea><br /> <br/> <table WIDTH=100%> <tr><td> <strong>Application:</strong> </td><td> <span class="ref_search"> Reférence:</span><span class="ref_search"> ' . $resultats['reference'] . '</span><br /> </td></tr></table> <textarea rows=6 COLS=218>' . $resultats['application'] . '</textarea><br /> <br/> <table WIDTH=98% border=1> <tr><td> <span class="ref_search">Web:</span><span class="ref_search"> <textarea rows=1 COLS=130>' . $resultats['www01'] . '</textarea></span><br /> </td><td> <span class="ref_search">Web:</span><span class="ref_search"> <textarea rows=1 COLS=130>' . $resultats['www02'] . '</textarea></span><br /> </td></tr></table> <table WIDTH=98% border=1> <tr><td> <span class="ref_search">Doc:</span><span class="ref_search"> <textarea rows=1 COLS=130>' . $resultats['doc01'] . '</textarea></span><br /> </td><td> <span class="ref_search">Doc:</span><span class="ref_search"> <textarea rows=1 COLS=130> ' . $resultats['doc02'] . '</textarea></span><br /> </td></tr></table> <table WIDTH=98% border=1> <tr><td> <span class="ref_search">Pdf:</span><span class="ref_search"><textarea rows=1 COLS=125>' . $resultats['adob01'] . '</textarea></span><br/> </td><td> <span class="ref_search">Pdf:</span><span class="ref_search"><textarea rows=1 COLS=125> ' . $resultats['adob02'] . '</textarea></span><br/> </td></tr></table> <br/><br/><br/><hr/> '; } echo '<a href="recherche_citation.php">recommencer</a>'; } } else //si on a pas validé le formulaire on l'affiche { ?> <form method="post" action="recherche_citation.php"> <!-- ++++++++++++++ Création du tableau permettant la saisie ====================== --> <TABLE BORDER="1"> <CAPTION> Recherche par citations... </CAPTION> <TR> <TH align="center"> Mots, expressions... </TH> <TH align="center"> Votre mode de recherche...</TH> <TH align="center"> Lancer...</TH> </TR> <TR> <TD> <input type="text" size =60 name="recherche" /> </TD> <TD> <!--<p class="§search">--> <select name="mode"> <option value="expression_exacte">Expression exacte</option> <option value="tous_les_mots">Tous les mots</option> <option value="un_mot">Au moins un mot</option> </select> <!--</p--> </TD> <TD> <input type="submit" value="Rechercher" name="rechercher" /> </TD> </TR> </TABLE> </form> <?php } mysql_close(); //deconnexion de la bdd ?>
Partager