Salve a tutti!
Sto cercando di fare un search che restituisca dei record impagginati 3 per pagina.
Ora il codice funzione fino ad un certo punto.
Effettua correttamente sia la prima che la seconda query.
Solo che quando vado a cliccare su successiva >> (ovvero la pagina successiva),
la variabile $ word perde giustamente il suo valore (mi ritorna l'errore:Notice : Undefined index: parola in c:\programmi\easyphp1-8\www\portale3\ricerca3.php on line 6 ) e quello che ho che nelle pagine successive è tutto il resto del database indistintamente.
Come posso fare perchè funzioni correttamente questa ricerca con paginazione?
Il codice è il seguente:
cerco.php
Codice PHP:
<link href="stile.css" rel="stylesheet" type="text/css">
<?
REQUIRE('connessione.php');
$word=trim($_GET['parola']);
echo"$word"; // Stringa di DEBUG per la variabile $word
echo"
";
#PRIMA SELECT
$query = "SELECT * from news where news1 like \"%$word%\"";
$risultato_query=mysql_query($query,$connessione);
$res_count=mysql_num_rows($risultato_query);
// numero totale di records
$tot_records = $res_count;
echo"Numero Totale di record della prima query $tot_records";
// Stringa di DEBUG per la variabile $tot_records
echo"
";
// risultati per pagina (secondo parametro di LIMIT)
$per_page = 3;
// numero totale di pagine
$tot_pages = ceil($tot_records / $per_page);
echo"Numero Totale pagine contenenti i risultati è tot_page= $tot_pages";
// Stringa di DEBUG per la variabile $tot_pages
echo"
";
// pagina corrente
$current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];
echo"Il valore di current page è $current_page";
// Stringa di DEBUG per la variabile $current_page
echo"
";
// primo parametro per LIMIT
$primo = ($current_page - 1) * $per_page;
echo"Primo valore di LIMIT $primo";
// Stringa di DEBUG per la variabile $primo
echo"
";
#SECONDA SELECT
$query2="SELECT * from news where news1 like \"%$word%\" LIMIT $primo, $per_page";
$risultato_query2=mysql_query($query2)or die("Query fallita !");
$res_count2=mysql_num_rows($risultato_query2);
$tot_records2 = $res_count2;
echo"Numero Totale di record della seconda query $tot_records";
// Stringa di DEBUG per la variabile $tot_records
echo"
";
while ($result = mysql_fetch_array($risultato_query2) ) {
$idn1=$result['idn1'];
$notizia=$result['news1'];
$titolo2=$result['titolo1'];
echo"<p class=\"news\"><a href=\"notizie2.php?idn1=$idn1\">$titolo2</a>";
}
include("paginazione_1.php");
echo"
";
echo"
";
// qua inseriamo la paginazione
echo "$paginazione";
mysql_close();
?>
pagina_1.php
Codice PHP:
<?php
if($current_page == 1) { // se siamo nella prima pagina
$precedente = "<< precedente";
} else { // altrimenti
$previous_page = ($current_page - 1);
$precedente = "<a href=\"?page=$previous_page\" title=\"Vai alla pagina precedente\"><< precedente</a>";
}
if($current_page == $tot_pages) { // se siamo nell'ultima pagina
$successiva = "successiva >>";
} else { // altrimenti
$next_page = ($current_page + 1);
$successiva = "<a href=\"?page=$next_page\" title=\"Vai alla pagina successiva\">successiva >></a>";
}
$paginazione = "$precedente $successiva";
?>