ciao,

ho un problema con la paginazione dei dati risultato di una query di ricerca nel DB.
la cosa strana è che in locale funziona perfettamente mentre sul server mi perde il filtro di ricerca dopo la prima pagina.
mi spiego meglio.
se il filtro di ricerca mi restituisce ad esempio 50 risultati su un totale di 100 e lo script mi stampa 10 risultati per pagina, dopo la prima pagina mi stampa tutti e 100 i record presenti nel DB.
mi perde insomma le condizioni impostate.

e come dicevo, in locale funziona perfettamente... :master:

c'è qualche impostazione del server che mi può creare questi problemi? se si, quali?

posto lo script per la paginazione:



Codice PHP:
<?php

ini_set
('arg_separator.output''&');

function 
paging($query,$x_pag=5,$num_links=5)
{
 
//conteggio i record presenti
 
$resource =  mysql_query($query);
 
$righe mysql_num_rows($resource);
 
 echo 
"<div class=\"risultato\">\n

Sono stati trovati <span class=\"col_res\">"
.$righe."</span> risultati</p></div>\n<table class=\"tabella\">\n";
 
 if (
$righe == 0){ return false; }

 
//calcolo il numero di pagine necessarie per visualizzare i dati
 
$numpages ceil($righe/$x_pag);
 
 
//ottengo il numero di pagina, se manca lo imposto ad 1
 
$pag = isset($_GET['pag'])? $_GET['pag'] : 1;
 
 
//imposto il primo estremo del limit
 
$da = ($pag-1) * $x_pag;
 
 
//appendo il limit alla query originaria
 
$query .= " LIMIT $da,$x_pag";
 
 
//gesisco la propagazione della query string
 
$querystring '';
    foreach(
$_GET as $k => $v)
     {
      if (
$k != 'pag')
        {
          
$querystring .= "&amp;".$k."=".$v;
       }
     }
 
 
//inizializzo una stringa vuota in cui appenderò l'output del menu'
 
$menu '';
 
//serie di condizionali in cascata per costruire il menu'
if($numpages <= $num_links)
  {
   for (
$pagina 1$pagina <= $numpages$pagina++)
     {
      if (
$pagina == $pag)
        
$menu .= "<span class=\"pag_selected\"> $pagina </span> ";
      else
        
$menu .= "<a class=\"pag_link\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a>\n ";
     }
  }

//se la pag corrente è tra le prime $num_links/2 --> stampo i primi $nun_links link
else if($pag <= ceil($num_links/2))
  {
   for (
$pagina=1$pagina<=$num_links$pagina++)
     {
      if (
$pagina == $pag)
        
$menu .= "<span class=\"pag_selected\"> $pagina </span>\n ";
      else
        
$menu .= "<a class=\"pag_link\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a>\n ";
     }
   
$menu .= "<a class=\"pag_link\" href=\"?pag={$numpages}{$querystring}\" title=\"Vai all'ultima pagina\"> >> </a>\n";
  }

//se la pag corrente è tra le ultime $num_links/2 --> stampo gli ultimi $nun_links link
else if($pag > ($numpages-ceil($num_links/2)))
  {
   
$menu .= "<a class=\"pag_link\" href=\"?pag=1{$querystring}\" title=\"Vai alla prima pagina\"> << </a>\n ";
   for (
$pagina=$numpages-$num_links+1$pagina<=$numpages$pagina++)
     {
      if (
$pagina == $pag)
        
$menu .= "<span class=\"pag_selected\"> $pagina </span>\n ";
      else
        
$menu .= "<a class=\"pag_link\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a> \n";
     }
  }

//Altrimenti la pagina corrente è una dell centrali --> stampo i $nun_links/2 link prima ed $nun_links/2 link dopo
else
  {
   
$menu .= "<a class=\"pag_link\" href=\"?pag=1{$querystring}\" title=\"Vai alla prima pagina\"> << </a>\n ";
   for (
$pagina $pag-ceil($num_links/2-1); $pagina <= $pag+ceil($num_links/2-1); $pagina++)
     {
      if (
$pagina == $pag)
         
$menu .= "<span class=\"pag_selected\"> $pagina </span> ";
      else
        
$menu .= "<a class=\"pag_link\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai a pagina $pagina\"> $pagina </a>\n ";
     }
   
$menu .= "<a class=\"pag_link\" href=\"?pag={$pagina}{$querystring}\" title=\"Vai all'ultima pagina\"> >> </a>\n ";
  }

 
//restituisco il risultato della query, e l'output del menu'
 
return array(mysql_query($query),$menu);

?>
grazie mille