Grazie mille per la celerità della risposta. La logica delle struture di controllo può risultare fuorviante ma ho cancellato gran parte del codice inutile alla mia domanda.
come puoi vedere ci sono delle $clausola_where che vanno a filtrare i recordset della query.
L'unico problema, come ti dicevo, è che mi estre solo i primi 30 record e non riesce a filtrare i restanti (mi sembra che la query funzioni solo la prima volta e non trova le condizioni di where le successive volte in cui viene rivchiamata). Sono un neofita in php per cui ti ringrazio in anticipo dell'aiuto.

Codice PHP:
<?php 

$currentPage 
$_SERVER["PHP_SELF"];
$maxRows_Recordset1 30;
$pageNum_Recordset1 0;
if (isset(
$_GET['pageNum_Recordset1'])) {
  
$pageNum_Recordset1 $_GET['pageNum_Recordset1'];
}
$startRow_Recordset1 $pageNum_Recordset1 $maxRows_Recordset1;

mysql_select_db($database_data_connetion_db1$data_connetion_db1);

$clausola_where "";


if (
$annodefault == "..."){
$clausola_where .= (isset($_POST['anno']) && $_POST['anno'] !='')? "anno BETWEEN 1960 AND 2010" ." ":"";;
}
elseif(
$annodefault != "..."){
$clausola_where .= (isset($_POST['anno']) && $_POST['anno'] !='')? "anno='".mysql_escape_string($_POST['anno'])."' ":"";
}
if (
$operatore == ">"){
$senz split (">"$senzaoperatore2);
$clausola_where .= (isset($senz[1]) && $senz[1] !='')? "AND protocollo_iva >'".mysql_escape_string($senz[1])."' ":""
}
elseif (
$operatore == "<"){
$senzs split ("<"$senzaoperatoremeno2);
$clausola_where .= (isset($senzs[1]) && $senzs !='')? "AND protocollo_iva <'".mysql_escape_string($senzs[1])."' ":"";
}

if(
$contastringa == 10){
$clausola_where .= (isset($_POST['data_doc']) && $_POST['data_doc'] !='')? "AND data_doc='".$datasearch."' ":"";
}
elseif(
eregi("\<"$inputdate)){
$clausola_where .= (isset($_POST['data_doc']) && $_POST['data_doc'] !='')? "AND data_doc <'".mysql_escape_string($sumdatapulita)."' ":"";
}
elseif(
eregi("\>"$inputdate)){
$clausola_where .= (isset($_POST['data_doc']) && $_POST['data_doc'] !='')? "AND data_doc >'".mysql_escape_string($sumdatapulitamax)."' ":"";
}
elseif(
$contastringa 10){
$clausola_where .= (isset($_POST['data_doc']) && $_POST['data_doc'] !='')? "AND data_doc BETWEEN $sumdatauno AND $sumdatadue." ":"";;
}
if (
$operatorenumdoc == ">"){
$senzdoc split (">"$senzaoperatorenumdoc2);
$clausola_where .= (isset($senzdoc[1]) && $senzdoc[1] !='')? "AND numero_doc >'".mysql_escape_string($senzdoc[1])."' ":""
}
elseif (
$operatorenumdoc == "<"){
$senzsdocs split ("<"$senzaoperatoremenodoc2);
$clausola_where .= (isset($senzsdocs[1]) && $senzsdocs !='')? "AND numero_doc <'".mysql_escape_string($senzsdocs[1])."' ":"";
}
elseif(
eregi("\..."$_POST['numero_doc'])){
$splitnum split("\."$_POST['numero_doc'], 2);
$numdocmenopunto substr($splitnum[1], 2);
$clausola_where .= (isset($_POST['numero_doc']) && $_POST['numero_doc'] !='')? "AND numero_doc BETWEEN $splitnum[0] AND $numdocmenopunto." ":"";;
}
elseif (
$operatorenumdoc != "<"){
$clausola_where .= (isset($_POST['numero_doc']) && $_POST['numero_doc'] !='')? "AND numero_doc='".mysql_escape_string($_POST['numero_doc'])."' ":"";
}
elseif (
$operatorenumdoc != ">"){
$clausola_where .= (isset($_POST['numero_doc']) && $_POST['numero_doc'] !='')? "AND numero_doc='".mysql_escape_string($_POST['numero_doc'])."' ":"";
}
//..................................... 


$query_Record "SELECT * FROM intrauserfatture WHERE $clausola_where ";
$query_limit_Recordset1 sprintf("%s LIMIT %d, %d"$query_Record$startRow_Recordset1$maxRows_Recordset1);
$Recordset1 mysql_query($query_limit_Recordset1$data_connetion_db1) or die(mysql_error());
$row_Recordset1 mysql_fetch_assoc($Recordset1);



if (isset(
$_GET['totalRows_Recordset1'])) {
  
$totalRows_Recordset1 $_GET['totalRows_Recordset1'];
} else {
  
$all_Recordset1 mysql_query($query_Record);
  
$totalRows_Recordset1 mysql_num_rows($all_Recordset1);
}
$totalPages_Recordset1 ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;

$queryString_Recordset1 "";
if (!empty(
$_SERVER['QUERY_STRING'])) {
  
$params explode("&"$_SERVER['QUERY_STRING']);
  
$newParams = array();
  foreach (
$params as $param) {
    if (
stristr($param"pageNum_Recordset1") == false && 
        
stristr($param"totalRows_Recordset1") == false) {
      
array_push($newParams$param);
    }
  }
  if (
count($newParams) != 0) {
    
$queryString_Recordset1 "&" htmlentities(implode("&"$newParams));
  }
}
$queryString_Recordset1 sprintf("&totalRows_Recordset1=%d%s"$totalRows_Recordset1$queryString_Recordset1);
?>