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
| $nombre = 20;
// si limite n'existe pas on l'initialise à zéro
if (!$limite) $limite = 0;
// on cherche le nom de la page.
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts["basename"];
//=========================================
// connection à la DB
//=========================================
$link = mysql_connect("$host", "$username", "$password");
mysql_select_db ("$db_name");
$recherche = mysql_real_escape_string(htmlspecialchars($_POST['recherche'])); //sécurisation des variables
//$recherche = str_replace(array('é', 'è', 'ê'), 'e', $recherche);
//function delaccents($chaine){
// $chaine = ereg_replace('[àâäåãáÂÄÀÅÃÁæÆ]','a', $chaine);
// $chaine = ereg_replace('[çÇ]','c', $chaine);
// $chaine = ereg_replace('[éèêëÉÊËÈ]','e', $chaine);
// $chaine = ereg_replace('[ïîìíÏÎÌÍ]','i', $chaine);
// $chaine = ereg_replace('[ñÑ]','n', $chaine);
// $chaine = ereg_replace('[öôóòõÓÔÖÒÕ]','o', $chaine);
// $chaine = ereg_replace('[ùûüúÜÛÙÚ]','u', $chaine);
// $chaine = ereg_replace('[ÿ]','y', $chaine);
// return $chaine;
//}
$categorie = $_POST['categorie']; //sécurisation des variables
$localisation = $_POST['localisation']; //sécurisation des variables
$empty=1;
if ($categorie && $empty)
{
$selecat = "AND categorie='$categorie'";
}
else
{
$selecat = "";
}
if ($localisation == $_GET['id_region'])
{
$selecloc = "AND region='$localisation'";
}
//si localisation est egal à idregion = affiche region
elseif (($localisation == $_GET['f']) && (!($localisation == '')) && (!($localisation == $_GET['id_region'])))
{
$selecloc = "";
}
//ou sinon localisation est egal à f et n'est pas vide = affiche france
elseif ((!($localisation == $_GET['id_region'])) && (!($localisation == '')))
{
$selecloc = "AND departement='$localisation'";
}
//ou sinon localisation n'est pas egal à idregion et n'est pas vide = affiche departement
elseif ($localisation == '')
{
$selecloc = "AND region='". $_GET['id_region']. "'";
}
// si rien de tout ca on affiche la region
$and_ou_or = 'AND'; //on utilisera AND dans la boucle
$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 . ' titre 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
//=========================================
// requête SQL qui compte le nombre total
// d'enregistrements dans la table.
//=========================================
$select = "SELECT count(idannonce) FROM annonces WHERE $valeur_requete $selecat $selecloc AND statut='oui' " ;
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_row($result);
$total = $row[0];
//=========================================
// vérifier la validité de notre variable
// $limite;
//=========================================
$verifLimite= verifLimite($limite,$total,$nombre);
// si la limite passée n'est pas valide on la remet à zéro
if(!$verifLimite) {
$limite = 0;
}
$selection_recherche = mysql_query("SELECT *
FROM annonces
WHERE $valeur_requete $selecat $selecloc AND statut='oui' ORDER BY idannonce DESC LIMIT $limite,$nombre"); //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 '<div id=infoann align="left"><span class="contenus16blanc">Aucune annonce correspondant à votre recherche.</span></div>';
}
else //il y a au moins un résultat
{
echo '<div id=infoann align="left"> <span class="contenus16bleuciel"> ' . $total . '</span><span class="contenus16blanc"> annonce(s) correspondant à votre recherche <br /><br /></span></div>'; //nombre de résultats
if($total) {
while($resultats = mysql_fetch_array($selection_recherche) ) //boucle affichant les résultats
{ |
Partager