function elenco_record_admin($query_fissa, $campoId, $arrEtichette, $arrCampi, $arrFunzioni, $pagDettaglio, $record_per_pagina, $nome_sessione, $str_condizioni, $sorting, $campo_sorting, $criteri_per_tornare_indietro = '', $cbElenco = true) { //Recupero i dati $res = makequery($query_fissa); $num = mysqli_num_rows($res); if ($num == 0) { return "0"; } else { $strRecord = ""; //*******Codice per la paginazione******************** if (!isset($_SESSION[$nome_sessione]) or isset($_GET["primoaccesso"])) { $_SESSION[$nome_sessione] = 0; } if (isset($_GET["go"])) { if ($_GET["go"] == "inizio") { $_SESSION[$nome_sessione] = 0; } elseif ($_GET["go"] == "indietro") { $_SESSION[$nome_sessione] = $_SESSION[$nome_sessione] - $record_per_pagina; if ($_SESSION[$nome_sessione] < 0) { $_SESSION[$nome_sessione] = 0; } } elseif ($_GET["go"] == "avanti") { if ($_SESSION[$nome_sessione] + $record_per_pagina >= $num) { $_SESSION[$nome_sessione] = $_SESSION[$nome_sessione]; } else { $_SESSION[$nome_sessione] = $_SESSION[$nome_sessione] + $record_per_pagina; } } elseif ($_GET["go"] == "fine") { $_SESSION[$nome_sessione] = $num - $record_per_pagina; } } //***********fine codice per paginazione**********************+ //fisso il numero di elementi per pagina $limit_str = " limit " . $_SESSION[$nome_sessione] . ", " . $record_per_pagina; //faccio la query con paginazione $sqlpaginazione = $query_fissa . $limit_str; $dati = makequery($sqlpaginazione); $strRecord .= "<table width=\"100%\" border=\"0\" cellspacing=\"2\" cellpadding=\"2\">"; $strRecord .= "<tr class=\"colore_testata\">"; if ($sorting) { $strRecord .= "<td class=\"testo\" align=\"center\" width=\"7%\" colspan=\"2\"><strong>ORDINA</strong></td>"; } $strRecord .= "<td width=\"10%\"> </td>"; foreach ($arrEtichette as $etichetta) { $strRecord .= "<td class=\"testo\" align=\"center\"><strong>" . $etichetta . "</strong></td>"; } $strRecord .= "</tr>"; $sfondo = "colore_uno"; while ($arr_mod = makefetch($dati)) { $tmp = date("YdmHis") . rand(); if ($sfondo == "colore_uno") { $sfondo = "colore_due"; } else { $sfondo = "colore_uno"; } $strRecord .= "<tr class='" . $sfondo . "'>"; if ($sorting) { if ($num > 1) { $strRecord .= "<td width='14' align='center'>"; if ($arr_mod[$campo_sorting] > 1) { $strRecord .= "<a href='" . $_SERVER['PHP_SELF'] . "?id=" . $arr_mod[$campoId] . "&azione=up&tmp=" . $tmp . $str_condizioni . "'><img src='img/su.gif' border='0'></a>"; } $strRecord .= "</td>"; $strRecord .= "<td width='14' align='center'>"; if ($arr_mod[$campo_sorting] < $num) { $strRecord .= "<a href='" . $_SERVER['PHP_SELF'] . "?id=" . $arr_mod[$campoId] . "&azione=down&tmp=" . $tmp . $str_condizioni . "'><img src='img/giu.gif' border='0'></a>"; } $strRecord .= "</td>"; } else { $strRecord .= "<td> </td><td> </td>"; } } $strRecord .= "<td align='center'>"; $cbElenco ? $strRecord .= "<input type='checkbox' name='id[]' value='" . $arr_mod[$campoId] . "'> " : ""; //devo controllare se nel link ci sono già dei parametri strrchr($pagDettaglio, "?") ? $paginaLink = $pagDettaglio . "&id=" . $arr_mod[$campoId] : ($paginaLink = $pagDettaglio . "?id=" . $arr_mod[$campoId]); $paginaLink .= $criteri_per_tornare_indietro; $strRecord .= "<a href='" . $paginaLink . "'><img src='img/modifica.gif' border=0 title='dettaglio'></a></td>"; $i = 0; foreach ($arrCampi as $key => $campo) { $funz = $arrFunzioni[$i]; if ($arrFunzioni[$i] != "") { $strRecord .= "<td class='testo'>" . " " . $funz(html_entity_decode($arr_mod[$campo])) . "</td>"; } else { $strRecord .= "<td class='testo'>" . " " . html_entity_decode($arr_mod[$campo]) . "</td>"; } $i++; } $strRecord .= "</tr>"; } $strRecord .= "</table> <br />"; $strRecord .= "<div align=\"center\"> <font size=\"1\">"; // print dei record visualizzati if ($num > 0) { $ultimorecordvisualizzato = $_SESSION[$nome_sessione] + $record_per_pagina; if ($ultimorecordvisualizzato >= $num) { $ultimorecordvisualizzato = $num; } if ($num == 0) { $recordiniziale = 0; } else { $recordiniziale = $_SESSION[$nome_sessione] + 1; } $strRecord .= "<BR>Risultati " . $recordiniziale . " - " . $ultimorecordvisualizzato . " di " . $num . "<BR><BR>"; } $strRecord .= "</font> <font size=\"1\">"; if ($num > $record_per_pagina) { if ($recordiniziale == 1 or $recordiniziale == 0) { $strRecord .= "<<< Inizio << Indietro "; } else { $strRecord .= "<a href=\"" . $_SERVER['PHP_SELF'] . "?go=inizio" . $str_condizioni . "\"><u><<< Inizio</u></a> <a href=\"" . $_SERVER['PHP_SELF'] . "?go=indietro" . $str_condizioni . "\"><u><< Indietro</u></a> "; } if ($ultimorecordvisualizzato == $num) { $strRecord .= "Avanti >> Fine>>>"; } else { $strRecord .= "<a href=\"" . $_SERVER['PHP_SELF'] . "?go=avanti" . $str_condizioni . "\"><u>Avanti >></u></a> <a href=\"" . $_SERVER['PHP_SELF'] . "?go=fine" . $str_condizioni . "\"><u>Fine >>></u></a>"; } } $strRecord .= "</font></div>"; return $strRecord; } }
} if (isset($_SESSION['save_search']['author'])) { $_POST['author'] = $_SESSION['save_search']['author']; } } } else { if (isset($_GET['q'])) { $q = filter_var($_GET['q'], FILTER_SANITIZE_STRING); $search_source = 'all'; $search_target = 'all'; $search_year = ''; } } if (!empty($q)) { #search $query = makequery($q, $search_source, $search_target, $search_year); if ($search_source == 'article') { $query = filter_article($query); } else { if ($search_source == 'thesis') { $query = filter_thesis($query); } } } } if (is_array($query) && !empty($query)) { #search $count = search($pdo, $query['count']); $data_count = 0; foreach ($count as $c) { $data_count = (int) $data_count + $c['count'];
<?php require 'mysql.php'; //var_dump($_GET); function makequery($path) { return "SELECT bhm_helpers.* FROM\n bhm_pages, bhm_relationships, bhm_helpers\n WHERE 1=1\n AND bhm_pages.url = '{$path}'\n AND bhm_pages.id = bhm_relationships.page_id\n AND bhm_relationships.help_id = bhm_helpers.id\n "; } $path = $_GET['collection']['pathname']; $res = $db->query(makequery($path)) or die(mysqli_error($db)); if ($res->num_rows < 1) { $index = $_GET['collection']['indexpage']; if (gettype($index) != 'array') { $p = $path . $index; $res = $db->query(makequery($p)) or die(mysqli_error($db)); } else { for ($i = 0; $i < count($index); $i++) { $p = $path . $index[$i]; echo $p; $res = $db->query(makequery($p)) or die(mysqli_error($db)); if ($res->num_rows > 0) { break; } } } } echo json_encode($res->fetch_all(MYSQLI_ASSOC), JSON_PRETTY_PRINT);