Ciao a tutti,
dalla pagina Index.html inserisco le variabili riguardanti AUTORE e TITOLO per eseguire una query sul mio database. Con il seguente codice PHP eseguo la query ed il risultato mi viene correttamente filtrato e stampato con il corretto numero di pagine ed il corretto contenuto (ho trovato questo codice già suggerito e collaudato).
IL PROBLEMA inizia quando utilizzo i link di navigazione "numeri" oppure "avanti" perchè premendoli mi viene ricaricato l' intero database. Esempio se la query iniziale mi stampa 2 pagine, premendo i link ne vengono stampati 25.
<SCRIPT LANGUAGE="php">
//Recupero il numero di pagina corrente.
$pag = isset($_GET['pag']) ? $_GET['pag'] : 1;
// Controllo se $pag è valorizzato e se è numerico
// ...in caso contrario gli assegno valore 1
if (!$pag || !is_numeric($pag))
$pag = 1;
$autore=$_POST[AUTORE];
$titolo=$_POST[TITOLO];
$db=mysql_connect("localhost","root","root");
if(!$db)
echo "no connection";
mysql_select_db("my_trovalibro");
// Uso mysql_num_rows per contare il totale delle righe presenti all'interno della tabella agenda
$all_rows = mysql_num_rows(mysql_query("select * from libri where AUTORE like '%".$autore."%' and TITOLO like '%".$titolo."%'"));
// Creo una variabile dove imposto il numero di record
// da mostrare in ogni pagina
$x_pag = 12;
// Tramite una semplice operazione matematica definisco il numero totale di pagine
$all_pages = ceil($all_rows / $x_pag);
// Calcolo da quale record iniziare
$first = ($pag - 1) * $x_pag;
$query = "select * from libri where AUTORE like '%".$autore."%' and TITOLO like '%".$titolo."%' LIMIT $first, $x_pag";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
for ($i=0; $i < $num_results; $i++)
{
$row = mysql_fetch_array($result);
echo "<p font-size: 20pt> ".$row[TITOLO].". . . . . . . . ".$row[AUTORE];
echo "</p>";
echo "<br>";
}
I
if ($all_pages > 1){
if ($pag > 1){
echo "<a href="" . $_SERVER['PHP_SELF'] . "?pag=" . ($pag - 1) . "">";
echo "<img src=frecciaindietro.png style=width:42px; height:43px>";
echo "</a>";
}
// faccio un ciclo di tutte le pagine
for ($p=1; $p<=$all_pages; $p++) {
// NEL MOMENTO IN CUI UTILIZZO IL LINK PER SCORRERE PAGINA (numeri o con tasto avanti), VIENE CARICATO//
// L INTERO DATABASE E LE PAGINE CHE PRIMA ERANO SOLO 2 DIVNETANO 25 //
[/COLOR]
echo "<a href="" . $_SERVER['PHP_SELF'] . "?pag=" . $p . "">";
echo $p . "</a> ";
}
if ($all_pages > $pag){
echo "<a href='" . $_SERVER['PHP_SELF'] . "?pag=" . ($pag + 1) . "'>";
echo "<img src=frecciaavanti.png style=width:42px; height:43px>";
echo "</a>";
}
}
mysql_close($db);
</SCRIPT>
per favore mi date una mano?
GRAZIE