Je crée un petit moteur de recherche sur mon site, et je veux afficher les résultats sous forme d'extrait contenant le mot recherché.
j'y arrive comme ceci :
Code : Tout sélectionner
require_once('Connections/client.php');
$resultat1=$client->query("SELECT SUBSTR(nom_champ,
INSTR(nom_champ, 'occurrence' ) -20,
CHAR_LENGTH( 'occurrence' ) +30
) AS resultat
FROM table
WHERE nom_champ LIKE '%occurrence%'");
// $news=$resultat1->fetch_assoc();
while($news=$resultat1->fetch_assoc())
{
$tab = explode(" ", $news['resultat']); //on découpe le résultat et le stock dans un tableau
$tab = array_splice($tab, 1); //on enlève le premier mot
$tab = array_splice($tab, 0,sizeof($tab)-1); //on enlève le dernier mot
$tab = str_replace ( 'occurrence' , '<b>occurrence</b>' , $tab ); // on met le mot en gras
echo "...".implode(" ", $tab)."..."; //on retranscrit le tableau dans une chaine
}Etant donné que le résultat est stocké dans "resultat", je n'en ai qu'un...
Est-ce que cette requête peut être modifiée pour récupérer le champ id, ou vaut-il mieux que je trouve une autre solution pour afficher les résultats sous forme d'extrait après ma requête ?
Merci de vos éclairages,
PF