require_once("includes/global.php");
require_once("includes/functions.php");
$qs=new GestioneQueryString();
//Lettura dei parametri
$id_fondo = $_GET["id_fondo"];
//print_r($id_fondo."PIPPO");
$dati_fondo = trovaFondo($id_fondo);
$array_intestazione=array();
switch ($id_fondo) {
case 1: //Ticinese
array_push($array_intestazione,ARRAY("intestazione","Nomi propri della scheda","intestazione","47%","Nomi propri della scheda"));
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"));
$str_caption_tabella="Elenco chiavi d'accesso";
break;
case 2: // Corradi
array_push($array_intestazione,array("intestazione","Autori","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"));
$str_caption_tabella="Elenco autori";
break;
default:
break;
}
//print_r($array_intestazione);
// 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";
$sql_filtro_where="";
$searchField="";
$searchString="";
if (isset($_REQUEST['searchField'])){
if (isset($_REQUEST['searchString']) && trim($_REQUEST['searchString'])!=""){
$searchField=$_REQUEST['searchField'];
$searchString=stripslashes($_REQUEST['searchString']);
$prima_colonna="";
switch ($searchField) {
case "intestazione":
$prima_colonna=",MATCH(intestazione) AGAINST('".mysql_escape_string($searchString)."' IN BOOLEAN MODE) as percent";
//$sql_filtro_where="AND MATCH(intestazione) AGAINST('".mysql_escape_string($searchString)."' IN BOOLEAN MODE) ";
$sql_filtro_where="AND ".generaLike($searchString,'intestazione','%');
break;
case "chiavi":
$prima_colonna=",MATCH(K03) AGAINST('".mysql_escape_string($searchString)."' IN BOOLEAN MODE) as percent";
//$sql_filtro_where="AND MATCH(K03) AGAINST('".mysql_escape_string($searchString)."' IN BOOLEAN MODE)";
$sql_filtro_where="AND ".generaLike($searchString,'K03','%');
break;
case "full_text":
$prima_colonna=",MATCH(intestazione,K03) AGAINST('".mysql_escape_string($searchString)."' IN BOOLEAN MODE) as percent";
//$sql_filtro_where="AND MATCH(intestazione,K03) AGAINST('".mysql_escape_string($searchString)."' IN BOOLEAN MODE)";
$sql_filtro_where="AND (".generaLike($searchString,'K03','%')." OR ".generaLike($searchString,'intestazione','%').")";
break;
case "num_sequenziale":
$sql_filtro_where="AND {$searchField}='".mysql_escape_string($searchString)."'";
break;
case "npagina":
$sql_filtro_where="AND nomenclatura='".mysql_escape_string($searchString)."'";
break;
default:
$sql_filtro_where="AND {$searchField} like '%".mysql_escape_string($searchString)."%'";
break;
}
$qs->setta_valore("searchString",$searchString);
$qs->setta_valore("searchField",$searchField);
}else{
$qs-> elimina_valore("searchString");
$qs-> elimina_valore("searchField");
}
}
$sql_where_filtro="1";
//$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"])) {
$orderOptions=explode(" ",$_REQUEST["orderby"],2);//list($orderby,$ordermod)
if(isset($orderOptions[0])){
$orderby= $orderOptions[0];
}else{
$orderby= "";
}
if(isset($orderOptions[1])){
$ordermod=$orderOptions[1];
}else{
$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_where_filtro) ";
// 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);
$qs->setta_valore("from","elenco");
//$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";}
?>