Ciao, grazie in anticipo.
Questo codice ha come finalità quella di ricercare dati nel DB e visualizzarli uno alla volta, il listato funziona quasi bene ad eccezione del fatto che, effettuata la ricerca, e recuperati i dati relativi al numero di pagine da visualizzare, e ovviamente recuperati i dati lui visualizza solo la prima pagina del risultato, poi le successive o la successiva pagina che dovrebbe visualizzare è semplicemente il record successivo non della ricerca effettuata con i relativi criteri, ma della query in se senza criteri adottati, come se il risultato della query fosse andato perso.
Quindi ricapitolando e andando per le spicciole, se cerco un elenco di persone che si chiamano Alessandro e sono di Milano ottengo come risultato della query 50 record, che ridistribuiti 10 per pagina ottengo 5 pagine in totale da visualizzare, quindi nel visualizzare i primi 10 record della prima pagina non ci sono problemi, mentre nel visualizzare i successivi 10 della seconda pagina, visualizzo l’intera query di 1800 utenti ridistribuiti in 180 pagine.
Il tutto è gestito ovviamente da quattro pagine PHP una di connessione al DB, una di navigazione, una di ricerca ed in fine quella di risultato che mi sta uccidendo.
Spero che mi possiate aiutare, grazie nuovamente.
1. Navigazione.php
---------------------------------------------------------------------
<?php
//Sistema di navigazione tra le pagine
if ($pag_visualizzata > 1)
{
$n_pagina = $pag_visualizzata - 1;
$precedente = " <a href=\"$s?n_pagina=$n_pagina\">| < Precedente |</a> ";
$ultima_pag = " <a href=\"$s?n_pagina=$pagine_totali\">| << Ultima |</a> ";
}
else
{
//il link "Precedente" non verrà visualizzato se siamo a pag.1
$precedente = '';
// il link "Prima pagina" non verrà visualizzato se siamo a pag.1
$prima_pag = '';
}
if ($pag_visualizzata < $pagine_totali)
{
$n_pagina = $pag_visualizzata + 1;
$successivo = " <a href=\"$s?n_pagina=$n_pagina\">| Prossima > |</a> ";
$prima_pag = " <a href=\"$s?n_pagina=1\">| Prima >> |</a> ";
}
else
{
//il link "Successiva" non verrà visualizzato se siamo all'ultima pagina
$successivo = '';
//il link "Ultima pagina" non verrà visualizzato se siamo all'ultima pagina
$ultima_pag = '';
}
//navigazione
echo $ultima_pag . $precedente . $successivo . $prima_pag ."
\n";
if ($pagine_totali < 2)
{
echo "<div align=center><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\" color=black>Pagina $pag_visualizzata " . "di $pagine_totali sola pagina." . "</font></div>
\n";
}
else
{
echo "<div align=center><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\" color=black>Pagina $pag_visualizzata " . "di $pagine_totali pagine in totale." . "</font></div>
\n";
}
?>
2. Risultato_Index_A.php
---------------------------------------------------------------------
<?php
include ("Elementi/Connessione.php");
$searchtext_nr = $_POST['searchtext_nr'];
$searchtext_cognome = $_POST['searchtext_cognome'];
$searchtext_nome = $_POST['searchtext_nome'];
$IDCOMMISSIONE1 = $_POST['IDCOMMISSIONE1'];
$IDCOMMISSIONE2 = $_POST['IDCOMMISSIONE2'];
$IDCOMMISSIONE3 = $_POST['IDCOMMISSIONE3'];
$IDCOMMISSIONE4 = $_POST['IDCOMMISSIONE4'];
$IDCOMMISSIONE5 = $_POST['IDCOMMISSIONE5'];
$IDCOMMISSIONE6 = $_POST['IDCOMMISSIONE6'];
$IDCOMMISSIONE7 = $_POST['IDCOMMISSIONE7'];
$IDCOMMISSIONE8 = $_POST['IDCOMMISSIONE8'];
$IDCOMMISSIONE9 = $_POST['IDCOMMISSIONE9'];
$IDCOMMISSIONE10 = $_POST['IDCOMMISSIONE10'];
$IDCOMMISSIONE11 = $_POST['IDCOMMISSIONE11'];
$IDCOMMISSIONE12 = $_POST['IDCOMMISSIONE12'];
$contatore = @mysql_query("SELECT COUNT(*) FROM $tabella2
WHERE NR LIKE '$searchtext_nr%'
AND COGNOME LIKE '$searchtext_cognome%'
AND NOME LIKE '$searchtext_nome%'
AND IDCOMMISSIONE1 LIKE '$IDCOMMISSIONE1%'
AND IDCOMMISSIONE2 LIKE '$IDCOMMISSIONE2%'
AND IDCOMMISSIONE3 LIKE '$IDCOMMISSIONE3%'
AND IDCOMMISSIONE4 LIKE '$IDCOMMISSIONE4%'
AND IDCOMMISSIONE5 LIKE '$IDCOMMISSIONE5%'
AND IDCOMMISSIONE6 LIKE '$IDCOMMISSIONE6%'
AND IDCOMMISSIONE7 LIKE '$IDCOMMISSIONE7%'
AND IDCOMMISSIONE8 LIKE '$IDCOMMISSIONE8%'
AND IDCOMMISSIONE9 LIKE '$IDCOMMISSIONE9%'
AND IDCOMMISSIONE10 LIKE '$IDCOMMISSIONE10%'
AND IDCOMMISSIONE11 LIKE '$IDCOMMISSIONE11%'
AND IDCOMMISSIONE12 LIKE '$IDCOMMISSIONE12%'");
if (!$contatore) print ("Database o Tabella mancante - Errore Interno 001");
$n_row = @mysql_fetch_array($contatore) or die ("Record vuoti - Errore Interno 002");
if ($n_row[0] == FALSE)
{ echo "Non sono stati ancora inseriti dati nel db " . "". $db . ".
";}
else
{
$pagine_totali = ceil($n_row[0]/$max_row);
$pag_visualizzata = (!$_GET[n_pagina])?1: $_GET[n_pagina];
$show = ($pag_visualizzata - 1) * $max_row;
}
$query = mysql_query("SELECT * FROM $tabella2
WHERE ID LIKE '$ID%'
AND NR LIKE '$searchtext_nr%'
AND COGNOME LIKE '$searchtext_cognome%'
AND NOME LIKE '$searchtext_nome%'
AND IDCOMMISSIONE1 LIKE '$IDCOMMISSIONE1%'
AND IDCOMMISSIONE2 LIKE '$IDCOMMISSIONE2%'
AND IDCOMMISSIONE3 LIKE '$IDCOMMISSIONE3%'
AND IDCOMMISSIONE4 LIKE '$IDCOMMISSIONE4%'
AND IDCOMMISSIONE5 LIKE '$IDCOMMISSIONE5%'
AND IDCOMMISSIONE6 LIKE '$IDCOMMISSIONE6%'
AND IDCOMMISSIONE7 LIKE '$IDCOMMISSIONE7%'
AND IDCOMMISSIONE8 LIKE '$IDCOMMISSIONE8%'
AND IDCOMMISSIONE9 LIKE '$IDCOMMISSIONE9%'
AND IDCOMMISSIONE10 LIKE '$IDCOMMISSIONE10%'
AND IDCOMMISSIONE11 LIKE '$IDCOMMISSIONE11%'
AND IDCOMMISSIONE12 LIKE '$IDCOMMISSIONE12%'
ORDER BY ID ASC
LIMIT $show, $max_row");
if (!$query) print ("Errore Interno 003");
for ($i=0; $i<mysql_num_rows($query); $i++)
{
mysql_data_seek($query, $i);
$result = mysql_fetch_row($query);
print "<div>
DATI
NR: ".$result[1].
"
DATA DI ISCRIZIONE: ".$result[2].
"
COGNOME: ".$result[3].
"
NOME: ".$result[4].
"
COMMISSIONI: ".$result[14].
"
------------ -------".$result[15].
"
------------ -------".$result[16].
"
------------ -------".$result[17].
"
------------ -------".$result[18].
"
------------ -------".$result[19].
"
------------ -------".$result[20].
"
------------ -------".$result[21].
"
------------ -------".$result[22].
"
------------ -------".$result[23].
"
------------ -------".$result[24].
"
------------ -------".$result[25].
"
NUMERO TEL: ".$result[10]."-".$result[11].
"
CELLULARE: ".$result[12].
"
E_MAIL: ".$result[13].
"
DATI DI RESIDENZA
CITTA' DI RESIDENZA: ".$result[7]." (".$result[9].")
CAP: ".$result[8].
"
INDIRIZZO: " .$result[5].", ".$result[6].
"
<center>|||<a href=Strumenti/Sez_A/Modi_COMM_A.php?ID=$result[0]> Modifica |</center>
</div>";
}
include("Elementi/Navigazione.php");
?>