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
| $mots = split(" +",$recherche);
$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 . ' titre LIKE \'%' . mysql_real_escape_string($mots[$nombre_mots_boucle]) . '%\''; //modification de la variable $valeur_requete
$valeur_requete2 .= '' . $and_ou_or . ' description LIKE \'%' . mysql_real_escape_string($mots[$nombre_mots_boucle]) . '%\'';
$valeur_requete3 .= '' . $and_ou_or . ' content_id LIKE \'%' . mysql_real_escape_string($mots[$nombre_mots_boucle]) . '%\'';
}
$valeur_requete = ltrim($valeur_requete,$and_ou_or); //suppression de AND ou de OR au début de la boucle
$valeur_requete2 = ltrim($valeur_requete2,$and_ou_or);
$valeur_requete3 = ltrim($valeur_requete3,$and_ou_or);
$counter = mysql_query("SELECT count(*) FROM contenu
WHERE $valeur_requete or $valeur_requete2 or $valeur_requete3
ORDER BY content_id DESC") or die (mysql_error());
$nb_total_bis=mysql_result($counter,0,"count(*)" );
$selection_recherche = mysql_query("SELECT * FROM contenu
WHERE $valeur_requete or $valeur_requete2 or $valeur_requete3
ORDER BY content_id DESC limit $premiereEntree_bis,$limit"); //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) //s'il n'y a pas de résultat
{
echo "<center>Désolé, la base de données ne contient pas <b>$recherche</b>...</center>";
}
else if ($recherche=="" ) {echo "<center>Veuillez saisir un ou plusieurs mot-clés avant de cliquer sur 'Rechercher' !</center>";}
else if (strlen($recherche)<2) {echo "<center>Veuillez saisir au moins 2 caractères.</center>";}
// AFFICHAGE DES RESULTATS
else
{
$i=0;
while($i<$nombre_resultats)
{
$avant = array("\\","/","#","*","é","?","<",">","+",")","à","|","(","[");
$apres = array("//","//","//","//","e","//","//","//","//","//","a","//","//","//");
$mots=str_replace($avant,$apres,$mots);
$dept_id = mysql_result($selection_recherche,$i,"dept_id");
$sous_type_one = mysql_result($selection_recherche,$i,"sous_type_one");
$content_type =mysql_result($selection_recherche,$i,"content_type");
$content_id = mysql_result($selection_recherche,$i,"content_id");
$description=mysql_result($selection_recherche,$i,"description");
$titre=mysql_result($selection_recherche,$i,"titre");
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
{
$rech[$nombre_mots_boucle]= "#($mots[$nombre_mots_boucle])#i" ; // i permet de conserver la casse
}
$sortie ='<b>$1</b>';
$result = preg_replace($rech,$sortie,$titre);
echo "<font color =blue>$result</font>";
echo "<br>";
echo preg_replace($rech,$sortie,$description);
echo "<br>";
} |