require_once("includes/global.php");
require_once("includes/functions.php");
$qs=new GestioneQueryString();
$mostra_risultati=false;
$str_breadcrumbs="ricerca";
//Lettura dei parametri della stringa HTTP
$id_fondo = $_GET["id_fondo"];
//Etraggo i dati del fondo
$dati_fondo = trovaFondo($id_fondo);
$array_intestazione=array();
switch ($id_fondo) {
case 1: //Ticinese
array_push($array_intestazione,ARRAY("intestazione","Parole chiave della scheda","intestazione","47%","intestazione"));
array_push($array_intestazione,ARRAY("K02","Autore","K02","35%","autore"));
if (strtolower($dati_fondo['con_segnatura'])=='true'){
array_push($array_intestazione,ARRAY("K01","Segn.","segnatura_temp","10%","segnatura"));
}
//array_push($array_intestazione,ARRAY("num_sequenziale","Seq.","num_sequenziale","5%","sequenza"));
array_push($array_intestazione,ARRAY("nomenclatura","Pag.","LPAD(nomenclatura,8,'0')","5%","pagina"));
break;
case 2: // Corradi
array_push($array_intestazione,array("intestazione","Intestazioni","intestazione","87%","intestazione"));
/*if (strtolower($dati_fondo['con_segnatura'])=='true'){
array_push($array_intestazione,ARRAY("K01","Segn.","segnatura_temp","10%","segnatura"));
}*/
array_push($array_intestazione,ARRAY("nome_volume_breve","Vol.","nome_volume","5%","volume","nome_volume"));
//array_push($array_intestazione,ARRAY("num_sequenziale","Seq.","num_sequenziale","5%","sequenza"));
array_push($array_intestazione,ARRAY("nomenclatura","Pag.","LPAD(nomenclatura,8,'0')","5%","pagina"));
break;
default:
break;
}
// Prepara l'intestazione
//array("nome campo db","nome visibile,"ordina per",dimensione,abbr)
//array_push($array_intestazione,ARRAY("percent","Percentuale","percent"));
// Fine Prepara l'intestazione
$recordPerPag=25;
$defaultOrd="schede.id";
$parola_intera=FALSE;
$parola_intera_CHK="";
//debug($_GET['parola_intera'],"parola intere");
if (isset($_GET['parola_intera'])){
if($_GET['parola_intera']=="on") {
$parola_intera=TRUE;
$parola_intera_CHK="checked=\"checked\"";
}
}else{
$parola_intera=FALSE;
}
$sql_filtro_where="";
$searchField="";
$searchString="";
$sql_filtro_where="1";
if (isset($_REQUEST['searchField'])){
if (isset($_REQUEST['searchString']) && trim($_REQUEST['searchString'])!=""){
$searchField=$_REQUEST['searchField'];
//$searchString=stripslashes($_REQUEST['searchString']);
$searchString=$_REQUEST['searchString'];
$prima_colonna="";
switch ($searchField) {
case "autori":
$sql_filtro_where.=" AND ".generaLike($searchString,'K02','%','',$parola_intera);
$mostra_risultati=true;
break;
case "nomipropri":
//$sql_filtro_where.=" AND (".generaLike($searchString,'CONCAT(intestazione','%')." OR ".generaLike($searchString,'K03','%').")";
$sql_filtro_where.=" AND (".generaLike($searchString,'CONCAT(intestazione,K03)','%','',$parola_intera).")";
$mostra_risultati=true;
break;
case "full":
break;
case "npagina":
$sql_filtro_where.=" AND nomenclatura='".escapeLikeMySqlEscapeString($searchString)."'";
$mostra_risultati=true;
break;
case "volumi":
$sql_filtro_where.=" AND nome_volume like '%".escapeLikeMySqlEscapeString($searchString)."%'";
$mostra_risultati=true;
break;
case "intestazione":
$sql_filtro_where.=" AND ".generaLike($searchString,'intestazione','%',"",$parola_intera);
$mostra_risultati=true;
break;
case "K01":
$sql_filtro_where.=" AND $searchField like '$searchString'";
$mostra_risultati=true;
break;
default:
//$sql_filtro_where.=" AND {$searchField} like '%".mysql_real_escape_string($searchString)."%'";
break;
}
$qs->setta_valore("searchString",$searchString);
$qs->setta_valore("searchField",$searchField);
}
else{
$qs-> elimina_valore("searchString");
$qs-> elimina_valore("searchField");
}
}
//$searchString_mostra=htmlspecialchars(stripslashes($searchString),ENT_QUOTES);
$searchString_mostra=htmlspecialchars($searchString,ENT_QUOTES);
//echo $sql_filtro_where;
$defaultOrd="schede.id";
if (isset($_REQUEST["pagina"])) {
$pagina=stripslashes( $_REQUEST["pagina"]);
}
else {
$pagina=1;
}
if (isset($_REQUEST["orderby"])) {
$orderParams=explode(" ",$_REQUEST["orderby"],2);
$orderby = $orderParams[0];
(isset($orderParams[1]))?$ordermod=$orderParams[1]:$ordermod = "";
$sql_orderby=$array_intestazione[$orderby] [2]." $ordermod";
$qs->setta_valore("orderby",$orderby." $ordermod");
}
else{
$orderby="-1";
$sql_orderby= $defaultOrd;
}
if (isset($_REQUEST["recordPerPag"])){
$recordPerPag=$_REQUEST["recordPerPag"];
}
else {
$recordPerPag=$arr_paginatore[0];
}
// Si è eseguita una ricerca
$campi_select="*";
$sql_where="FROM fondi,volumi,pagine, schede WHERE fondi.id=volumi.id_fondo AND volumi.id=pagine.id_volume AND pagine.id=schede.id_immagine AND fondi.Id='$id_fondo' AND ($sql_filtro_where) ";
// Trova il numero di record
$sql_schede_conta="SELECT Count(*) as contato $sql_where";
//echo "
".$sql_schede_conta."
";
$RS_conta= mysqli_query($DBConn, $sql_schede_conta) or die("Errore SQL!");
$RS_result=mysqli_fetch_array($RS_conta, MYSQLI_ASSOC);
$num_elem=$RS_result['contato'];
//Calcolo il numero di pagine
$numTotPag=(int) ($num_elem/$recordPerPag);
if ($num_elem % $recordPerPag !=0) {$numTotPag++;}
if ($pagina>$numTotPag) {$pagina=1;}
if ($pagina<1) {$pagina=1;}
$sql_schede="SELECT $campi_select $sql_where ORDER BY $sql_orderby LIMIT ".(($pagina-1)*$recordPerPag).", $recordPerPag";
//echo $sql_schede;
$RS_schede= mysqli_query($DBConn, $sql_schede) or die("Si è verifato un errore.... riprova più tardi");
$qs->setta_valore("pagina",$pagina);
$qs->setta_valore("recordPerPag",$recordPerPag);
//$campi_select="schede.id as idscheda,pagine.num_sequenziale as num_sequenziale,schede.K01 as segnatura,schede.intestazione as intestazione,nome_img_noext,nomenclatura,K03";
//sql_where="FROM schede,pagine WHERE schede.id_immagine=pagine.id and pagine.id_volume='$id_volume' $sql_filtro_where";
$linksucc="succ";
$linkprec="prec";
if ($pagina<$numTotPag){ $linksucc="stampa_indirizzo_temp("","pagina",$pagina+1)."\">succ";}
if ($pagina>1){ $linkprec="stampa_indirizzo_temp("","pagina",$pagina-1)."\">prec";}
if ($mostra_risultati) {
$qs->setta_valore("from","ricerca");
$str_breadcrumbs="$str_breadcrumbs: risultati ricerca";
}
?>