Ciao a tutti,
Sto realizzando un motore di ricerca riguardante una libreria.
tutto fsta andando alla meraviglia a parte questo: non riesco a presentare i risultati delle ricerche
usando la tecnica della paginazione.
In breve ecco come è strutturato lo script.
1) Innanzitutto raccolgo i dati dal form di ricerca :
codice:
$titolo= $_POST["titolo"];
$anno= $_POST["anno"];
$codice= $_POST["codice"];
2) Dopodichè lancio la prima query e calcolo i valori di LIMIT:
codice:
$ricerca = mysql_query("select * from catalogo where anno='$anno' OR codice='$codice'")
or die(mysql_error());
$num_records = mysql_num_rows($ricerca);
$lim2 = 5;
$tot_pagine = ceil($num_records / $lim2);
$current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];
$lim1 = ($current_page - 1) * $lim2;
3) A questo punto lancio la seconda query e lo script di paginazione:
codice:
$impaginato = mysql_query("select * from catalogo where anno='$anno' OR codice='$codice' LIMIT $lim1, $lim2")
or die(mysql_error());
while($row = mysql_fetch_array($impaginato)) {
echo $row['titolo'].$row['anno']."
";
}
$paginazione = "Pagine totali: " .$tot_pagine. "[";
for($i = 1; $i <= $tot_pagine; $i++) {
if($i == $current_page) {
$paginazione .= $i . " ";
} else {
$paginazione .= "$i ";
}
}
$paginazione .= "]";
echo $paginazione;
Il problema è che funziona tutto finchè rimango nella prima pagina, ma non appena clicco sul link di accesso
alla seconda pagina (che dovrebbe visualizzare la seconda serie di risultati), non appare più nulla.
Ho provato a inserire dei valori fissi in sostituzione del $_POST:
codice:
$titolo= "Libro uno";
$anno= "1998";
$codice= "book_01";
e in questo caso tutto funziona alla meraviglia.
Quindi penso che il problema stia nel fatto che lo script non riesce a tenere in memoria i valori contenuti
in $_POST.
Qualcuno sa aiutarmi? Grazie anticipatamente.