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 (">", $senzaoperatore, 2);
$clausola_where .= (isset($senz[1]) && $senz[1] !='')? "AND protocollo_iva >'".mysql_escape_string($senz[1])."' ":"";
}
elseif ($operatore == "<"){
$senzs = split ("<", $senzaoperatoremeno, 2);
$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 (">", $senzaoperatorenumdoc, 2);
$clausola_where .= (isset($senzdoc[1]) && $senzdoc[1] !='')? "AND numero_doc >'".mysql_escape_string($senzdoc[1])."' ":"";
}
elseif ($operatorenumdoc == "<"){
$senzsdocs = split ("<", $senzaoperatoremenodoc, 2);
$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);
?>