Salve a tutti.
Ho un problema.
Passo attraverso un form il valore di una variabile ad una pagina. Questo valore mi serve nella pagina di destinazione,in una Function showricetta, come criterio in una query per estrarre dei record da una tabella.
Questi ultimi inoltre li voglio vedere con Paginazione.
Il Problema è che quando vado ad eseguire la paginazione, mi perde il valore della variabile che mi serve come criterio nella query
Codice PHP:
$Seleziona=$_GET['selectCriterio']; //imposta la variabile per il tipo di ricerca:tipologia, ingredienti, tempo di cottura, difficoltà
,
e quindi mi vede la prima pagina, ma cliccando le altre ovviamente NO. Senza possibilità di tornare indietro alla prima.
ecco il codice:
Codice PHP:
Function showricetta($flag,$CriterioRicerca,$CampoRicerca){
session_start();//Iniziamo la sessione
//$ CriterioRicerca è una variabile di SESSIONE. quando è impostata ad: 1,2,3 ; esegue la ricerca con i criteri di $Seleziona, sennò esegue la ricerca per IdAutore
$Seleziona=$_GET['selectCriterio']; //imposta la variabile per il tipo di ricerca:tipologia, ingredienti, tempo di cottura, difficoltà
REQUIRE ('connessione.php');
Print("utente".$flag);
echo"
";
Print("Tipologia o Difficoltà o Tempo Cottura".$CriterioRicerca);
echo"
";
Print("valore del campo".$Seleziona);
echo"
";
$sql="SELECT * from Ricetta where Tipologia='$Seleziona'";
$risultato_query=mysql_query($sql,$connessione) or die ("".mysql_error());
$res_count=mysql_num_rows($risultato_query);
// numero totale di records
$tot_records = $res_count;
// risultati per pagina(secondo parametro di LIMIT)
$per_page =5;
// numero totale di pagine
$tot_pages = ceil($tot_records / $per_page);
// pagina corrente
$current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];
// primo parametro di LIMIT
$primo = ($current_page - 1) * $per_page;
// esecuzione seconda query con LIMIT
$sql2="SELECT * from Ricetta where Tipologia='$Seleziona' ORDER BY TitoloRicetta DESC LIMIT $primo, $per_page";
$select = @mysql_query($sql2) or die("Query fallita2 !". mysql_error());
$i=0;
while($riga=mysql_fetch_array($select)){
$IdRicetta=$riga["IdRicetta"];
$TitoloRicetta=$riga["TitoloRicetta"];
$Tipologia=$riga["Tipologia"] ;
if(is_int($i/3)){
$color = "#FFFFFF";
}else{
$color= "#0573FB";
}
if ($Tipologia==1)
$Tipologia="PRIMO";
if ($Tipologia==2)
$Tipologia="SECONDO";
if ($Tipologia==3)
$Tipologia="DOLCE";
echo"
<tr>
<td bgcolor=\"$color\">$IdRicetta</td>
<td bgcolor=\"$color\"><A HREF=\"ricetta.php?IdRicetta=$IdRicetta\"> $TitoloRicetta</a></td>
<td bgcolor=\"$color\">$Tipologia</td>
</tr>";
}
include("paginazione_1.php");
//include("paginazione_2.php");
// in questa cella inseriamo la paginazione
echo"</table>";
echo " <p class=\"newstesto\"$paginazione</p>";
}
paginazione_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=\"?Tipologia=$Seleziona&page=$previous_page\" title=\"Vai alla pagina precedente\"><< precedente</a>";
}
/* come noti il link sia verso la pagina precedente sia verso quella successiva deve contenere il parametro GET "elencotabelle" */
if($current_page == $tot_pages) { // se siamo nell'ultima pagina
$successiva = "successiva >>";
} else { // altrimenti
$next_page = ($current_page + 1);
$successiva = "<a href=\"?Tipologia=$Seleziona&page=$next_page\" title=\"Vai alla pagina successiva\">successiva >></a>";
}
$paginazione2.= "[ ";
for($i = $current_page - 2 <1? 1 :$current_page - 2 ; $i <= $tot_pages && $i<=($current_page+2 <5? 5 : $current_page+2 ); $i++) {
if($i == $current_page) {
$paginazione2 .= $i . " ";
} else {
$paginazione2 .= "<a href=\"?Tipologia=$Seleziona&page=$i\" >$i</a> ";
}
}
$paginazione2 .= "]";
$paginazione = "$precedente ".$paginazione2. " $successiva";
?>
Come posso sistemarlo?
Grazie