session_start() ;
include('../global.php');
include('../connection/connect.php');
include('../functions/url_rewriting.php');
include('../login/visit.php');
$menu_top =4;
if( ( (!isset($_SESSION['latitude'])) || (!isset($_SESSION['longitude'])) ) && (isset($_SESSION['ID'])) ){
$sql = "select lat, lon from geoloc inner join membres ON codepostal= cp where id=".$_SESSION['ID'];
$resul_geo = mysql_query($sql) or die(mysql_error()) ;
if(mysql_num_rows($resul_geo) >0 ){
$Rs_geo = mysql_fetch_object($resul_geo);
session_register('latitude');
session_register('longitude');
$_SESSION['latitude'] = $Rs_geo->lat;
$_SESSION['longitude']= $Rs_geo->lon ;
mysql_free_result($resul_geo);
}
}
if( (isset($_SESSION['latitude'])) && (isset($_SESSION['longitude'])) ){
$distance = " (6378 * (3.14159265 / 2 - asin( sin(radians(".$_SESSION['latitude'].")) * sin(radians(lat)) + cos(radians(".$_SESSION['longitude']." - lon)) * cos(radians(".$_SESSION['latitude'].")) * cos(radians(lat)) ))) AS dist, lat, lon , ";
}
/*********************************************************************************************
RESULTATS RECHERCHE
*********************************************************************************************/
$select = "SELECT m.id as id_membre , m.pseudo, m.ville, m.codepostal, m.genre, m.ddn, m.dateinscri , m.avatar, m.descrimembre, m.last_connexion , m.taux_note, m.note, m.bizness, ";
$select .= " m.nb_annonce, m.credit > NOW() as premium, ";
$select .= $distance;
$select .= " d.libelle as departement, ";
$select .= " r.libelle as region ,";
$select .= " DATE_ADD(last_connexion,INTERVAL 10 MINUTE) > NOW() as online ";
$select .= " FROM `membres` m ";
$select .= " INNER JOIN departements d ON m.id_dept = d.id ";
$select .= " INNER JOIN regions r ON d.id_region = r.id_region" ;
$select .= " LEFT JOIN geoloc g ON m.codepostal= g.cp AND m.ville = g.nom_ville ";
$select .= " WHERE m.bloque<>1 AND m.supprime=0 ";
$_GET["pseudo_search"] = addslashes ( trim($_GET["pseudo_search"]) );
if ( ($_GET["pseudo_search"]) && ($_GET["pseudo_search"]!=''))
$select .= " AND pseudo like '". $_GET["pseudo_search"]. "%' ";
if (isset($_GET["sexe"]) && ($_GET["sexe"]!='0') && ($_GET["sexe"]!=''))
$select .= " AND m.genre = '". $_GET["sexe"]. "' ";
if ($_GET["cp"]!='')
$select .= " AND m.codepostal like '". $_GET["cp"]. "%' ";
if ($_GET["online"]!='')
$select .= " AND DATE_ADD(last_connexion,INTERVAL 10 MINUTE) > NOW() ";
if ($_GET["anniv"]!='')
$select .= " AND MONTH(m.ddn)=MONTH(CURDATE()) AND DAY(m.ddn)=DAY(CURDATE()) ";
if (($_GET["id_region"]) ||($_GET["id_region"]==0)) $_GET[id_reg] =$_GET["id_region"];
if (($_GET[id_reg] !='') && ($_GET[id_reg] !=0) )
$select = $select ." AND m.id_region=".$_GET[id_reg];
if (!empty($_GET["id_dept"]) )
$select = $select ." AND m.id_dept=".$_GET[id_dept];
//$select .= " GROUP BY m.id ";
if ($_GET["annonces"]!='')
$select .= " AND m.nb_annonce >=1 ";
switch ($_GET["order"]) {
case 1: $select .=" ORDER BY m.pseudo "; break;
case 2: $select .=" ORDER BY m.nb_annonce desc "; break;
case 4: $select .=" ORDER BY m.last_connexion desc "; break;
case 5: $select .=" ORDER BY m.id desc "; break;
case 6: $select .=" ORDER BY dist ASC "; break;
case 7: $select .=" ORDER BY note desc "; break;
default : $select .=" ORDER BY m.id desc "; break;
}
if ($_SESSION['ID']==40) {
//echo $select."
";
}
$querystring="&search=".$_GET[search]."&pseudo_search=".$_GET[pseudo_search]."&sexe=".$_GET[sexe]."&cp=".$_GET[cp]."&id_dept=".$_GET[id_dept]."&id_region=".$_GET[id_region]."&age=".$_GET[age]."&online=".$_GET[online]."&annonces=".$_GET[annonces];
if (isset($_SESSION[order])){
$querystring.="&order=".$_SESSION[order];
}else{
$querystring.="&order=".$_GET[order];
}
//----------------------------------------------------------
$nombre_de_resultat_par_page=15;
//echo $query_annonce ;
// on récupère le nombre de résultat que la requête renvoie
$nombre_total_de_resultat=mysql_num_rows(mysql_query($select));
// on découpe ce nombre en X pages de 20 résultats
$nombre_de_page=ceil($nombre_total_de_resultat/$nombre_de_resultat_par_page);
// pour savoir sur quelle page on se trouve )
$page=($_GET[page]) ? "$_GET[page]" : "1";
// valeur du début de la clause SQL LIMIT
$debut=($page*$nombre_de_resultat_par_page)-$nombre_de_resultat_par_page;
// on concatène le tout à la requête
$select.=" LIMIT $debut,$nombre_de_resultat_par_page";
// on veut afficher au maximum 9 pages sous la forme
// " <<-1-2-3-4-5-6-7-8-9->> "
// on va donc faire une boucle que l'on va décaler
// à chaque fois de une page, à partir de la cinquième page
// et jusqu'à l'avant avant ...n page.
//---------------------------------
$decale=0;
if($_GET[page]>5 && $_GET[page]<=($nombre_de_page-4)) {$decale=$_GET[page]-5;}
elseif($_GET[page]>($nombre_de_page-5) && $nombre_de_page >9 ) {$decale=$nombre_de_page-9;}
// ensuite on veut afficher des "boutons" précedent et suivant
$plus=(( $page==$nombre_de_page) || ($nombre_de_page == 0) ) ? "" : "suiv ";
$moins=($page==1) ? "" : "préc";
// en fonction du nombre de page on distingue deux fin de boucle possible...
$fin_de_boucle=($nombre_de_page<10) ? "$nombre_de_page" : "".(9+$decale)."";
// on fait une boucle avec tout le bazar du haut...
if ( ($nombre_de_page >9) && ($page >6) ){
$menu.="1...";
}
for($i=1+$decale;$i<=$fin_de_boucle;$i++){
$menu.=($i==$page) ? " ".$i."" : "".$i."";
}
if ( ($nombre_de_page >9) && ($page < $nombre_de_page - 5) ){
$menu.="...".$nombre_de_page."";
}
//echo $select;
$resul_annonce = mysql_query($select) or die (mysql_error());
$nbpossede = mysql_num_rows($resul_annonce);
?>