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 :
2) Dopodichè lancio la prima query e calcolo i valori di LIMIT:codice:$titolo= $_POST["titolo"]; $anno= $_POST["anno"]; $codice= $_POST["codice"];
3) A questo punto lancio la seconda query e lo script di paginazione: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;
Il problema è che funziona tutto finchè rimango nella prima pagina, ma non appena clicco sul link di accessocodice:$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;
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:
e in questo caso tutto funziona alla meraviglia.codice:$titolo= "Libro uno"; $anno= "1998"; $codice= "book_01";
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.

Rispondi quotando