";
if (isset($_GET['cerca']) &&
isset($_GET['agenzia_id']) &&
isset($_GET['categoria']) &&
isset($_GET['tipologia']) &&
(isset($_GET['contratto']) && $_GET['contratto'] == "V" || $_GET['contratto'] == "A") &&
(isset($_GET['regione_id']) && $_GET['regione_id'] != "ND") &&
(isset($_GET['provincia_id']) && $_GET['provincia_id'] != "ND") &&
isset($_GET['order_by']) &&
(isset($_GET['order_type']) && $_GET['order_type'] == "D" || $_GET['order_type'] == "A")
) {
$categoria = BonificaStringa($_GET['categoria'], FALSE);
$tipologia = BonificaStringa($_GET['tipologia'], FALSE);
$contratto = BonificaStringa($_GET['contratto'], FALSE);
$regione = BonificaStringa($_GET['regione_id'], FALSE);
$provincia = BonificaStringa($_GET['provincia_id'], FALSE);
$comune = BonificaStringa($_GET['comune_id'], FALSE);
$fascia_mq = intval($_GET['fascia_mq']);
$fascia_prezzo = intval($_GET['fascia_prezzo']);
$order_type = ($_GET['order_type'] == "D" ? "DESC" : "ASC");
$filter = "I.tipo_offerta = '$contratto'";
if ($tipologia != "ND") {
// una tipologia in particolare
$filter.= " AND I.tipo_immobile_id = '$tipologia'";
}else {
// analizzare caso di tutte le tipologie e vedere come gestire il caso degli immobili all'estero
if ($regione == "EEE" || $categoria == "E") {
$filter.=" AND I.regione_id = 'EEE'";
}else {
$filter.=" AND tab_tipo_immobili.categoria_id = '$categoria'";
}
}
// analizziamo il filtro provincia o comune.
$filter.= (isset($_GET['comune_id']) && $_GET['comune_id'] != "ND" ? " AND I.comune_id = '$comune'" : " AND I.provincia_id = '$provincia'");
// analizziamo il filtro fascia_prezzo
if (isset($_GET['fascia_prezzo']) && $_GET['fascia_prezzo'] != "ND") {
$join_fascia_prezzo = "LEFT JOIN tab_fasce_prezzo ON tab_fasce_prezzo.id = $fascia_prezzo";
$filter.=" AND I.prezzo >= tab_fasce_prezzo.min AND I.prezzo <= tab_fasce_prezzo.max";
}else {
$join_fascia_prezzo = "";
}
// analizziamo il filtro fascia_mq
if (isset($_GET['fascia_mq']) && $_GET['fascia_mq'] != "ND") {
$join_fascia_mq = "LEFT JOIN tab_fasce_mq ON tab_fasce_mq.id = $fascia_mq";
$filter.=" AND I.mq >= tab_fasce_mq.min AND I.mq <= tab_fasce_mq.max";
}else {
$join_fascia_mq = "";
}
$filter.=" AND I.visibilita = 1";
$filter_ws_tool = "WTSO.agenzia_id = $agenzia_id AND $filter AND I.proposta_in_corso = 0";
// analisi del tipo di ordinamento
switch ($_GET['order_by']) {
case "mq":
$order_by = "mq";
break;
case "prezzo":
$order_by = "prezzo";
break;
case "locali":
$order_by = "imm_vani";
break;
default:
// data_inserimento
$order_by = "immobile_id";
}
// aggiunge un record alla tabella log_statistiche_websitetool_ricerche
$db->query("CALL LogStatisticheWebSiteToolRicercheAggiungi($agenzia_id,
'$categoria',
'$tipologia',
'$contratto',
'$regione',
'$provincia',
'$comune',
".($fascia_prezzo == "ND" ? 0 : $fascia_prezzo).",
".($fascia_mq == "ND" ? 0 : $fascia_mq).",
'$order_by',
'".BonificaStringa($_GET['order_type'], FALSE)."',
'{$_SERVER['REMOTE_ADDR']}');");
$query_paginazione_count = "SELECT (SELECT Count(I.immobile_id)
FROM immobili I
LEFT JOIN tab_tipo_immobili ON tab_tipo_immobili.tipo_id = I.tipo_immobile_id
$join_fascia_prezzo
$join_fascia_mq
WHERE I.agenzia_id = $agenzia_id AND $filter)
+
(SELECT Count(I.immobile_id)
FROM website_tool_show_others WTSO
LEFT JOIN immobili I ON I.immobile_id = WTSO.immobile_id
LEFT JOIN tab_tipo_immobili ON tab_tipo_immobili.tipo_id = I.tipo_immobile_id
$join_fascia_prezzo
$join_fascia_mq
WHERE $filter_ws_tool);";
// Query effettiva alla quale verrĂ accodato il limit dato dalla paginazione
$query = "(SELECT I.immobile_id,
I.tipo_offerta,
I.testo_annuncio,
tab_tipo_immobili.tipo_immobile,
tab_tipo_immobili.slug AS slug_tipologia,
tab_province.provincia,
tab_province.slug AS slug_provincia,
tab_province.regione_id,
tab_comuni.comune,
tab_comuni.slug AS slug_comune,
I.prezzo,
I.mq,
I.imm_vani,
(SELECT MIN(foto.foto_id) FROM foto WHERE foto.immobile_id = I.immobile_id) AS foto_id,
(SELECT MIN(planimetrie.plan_id) FROM planimetrie WHERE planimetrie.immobile_id = I.immobile_id) AS plan_id
FROM immobili I
LEFT JOIN tab_comuni ON tab_comuni.comune_id = I.comune_id
LEFT JOIN tab_province ON tab_province.provincia_id = I.provincia_id
LEFT JOIN tab_tipo_immobili ON tab_tipo_immobili.tipo_id = I.tipo_immobile_id
$join_fascia_prezzo
$join_fascia_mq
WHERE I.agenzia_id = $agenzia_id AND $filter)
UNION
(SELECT I.immobile_id,
I.tipo_offerta,
I.testo_annuncio,
tab_tipo_immobili.tipo_immobile,
tab_tipo_immobili.slug AS slug_tipologia,
tab_province.provincia,
tab_province.slug AS slug_provincia,
tab_province.regione_id,
tab_comuni.comune,
tab_comuni.slug AS slug_comune,
I.prezzo,
I.mq,
I.imm_vani,
(SELECT MIN(foto.foto_id) FROM foto WHERE foto.immobile_id = WTSO.immobile_id) AS foto_id,
(SELECT MIN(planimetrie.plan_id) FROM planimetrie WHERE planimetrie.immobile_id = WTSO.immobile_id) AS plan_id
FROM website_tool_show_others WTSO
LEFT JOIN immobili I ON I.immobile_id = WTSO.immobile_id
LEFT JOIN tab_comuni ON tab_comuni.comune_id = I.comune_id
LEFT JOIN tab_province ON tab_province.provincia_id = I.provincia_id
LEFT JOIN tab_tipo_immobili ON tab_tipo_immobili.tipo_id = I.tipo_immobile_id
$join_fascia_prezzo
$join_fascia_mq
WHERE $filter_ws_tool)
ORDER BY $order_by $order_type";
//echo $query;
//echo $query_paginazione_count;
echo "
";
$paginazione = Paginazione($query_paginazione_count, 10);
if (!$paginazione["records_presenti"]) {
// dalla query specificata non esistono records
// Vengono mostrate le N (MAX_AG_INTEGRAZIONE_RICERCA_IMM) agenzie della provincia
echo "
"; // serve solo per allineare verticalmente il primo box agenzia con il box "Ti potrebbero interessare"
echo IntegrazioneRicercaImmobili($provincia);
}
else {
// esistono records
echo $paginazione['codice_paginazione']."
";
//echo "read_querystring_var_after_rewrite: ".read_querystring_var_after_rewrite($_SERVER['REQUEST_URI'], "page", "0-9")."
";
//echo "Page: ".$_SERVER['REQUEST_URI']."
";
//echo $_GET['regione_id'];
// Query effettiva con LIMIT aggiunto in coda
$query.= " LIMIT ".$paginazione["limit_inizio"].", ".$paginazione["limit_n"].";";
//echo $query;
$risultato = $db->query($query);
while ($row = $risultato->fetch_assoc()) {
/*if ($row['regione_id'] == "EEE") {
$link = ComponiUrlPortale()."estero/".$row['slug_tipologia']."/".$_GET['contratto']."/".$row['slug_provincia']."/".$row['slug_comune']."/".$row['immobile_id'].".html";
$link_titolo = $row['tipo_immobile']." in ".parseTipoOfferta($row['tipo_offerta'])." ".$row['provincia']." ".$row['comune'];
}else {*/
$link = "scheda-annuncio.php?annuncio_id=".$row['immobile_id']."&agenzia_id=".$agenzia_id."&referer=".urlencode($_SERVER['REQUEST_URI'])."#top";
$link_titolo = $row['tipo_immobile']." in ".parseTipoOfferta($row['tipo_offerta'])." ".$row['comune'];
//}
echo "
".($row['prezzo'] == 2147483647 ? "Tratt. riservata" : "€ ".number_format($row['prezzo'], "0", ",", "."))."
".number_format($row['mq'], "0", ",", ".")."m²
".
($row['imm_vani'] != 0 ? "
".number_format($row['imm_vani'], "0", ",", ".")." locali
" : "").
"
";
}
}
if (isset($paginazione['codice_lista_pagine'])) {
echo $paginazione['codice_lista_pagine'];
}else {
echo "Siamo spiacenti,
non è stato trovato nessun annuncio.
Ti suggeriamo di modificare i parametri e di effettuare nuovamente la ricerca.";
}
echo "
";
}
echo "
";
?>