Ciao a tutti ho un problema con questo scipr che ho scritto:
Praticamento scarico le query dal db se le query sono maggiori di 10 vengono impaginate con la forma pagina?page=2 e così via il problema è che ho diviso anche le query in categorie visibile con la forma pagina?cat=1 fino a quì tutto ok ma se volessi vedere la seconta pagina della categoria 1 cosa devo fare?
Vi posto i codici:
Pagina:
Codice PHP:
include("../../script/config.php");
if(isset($_GET['cat']) && $_GET['cat'] > 0) {
$id_categoria = $_GET['cat'];
} else {
$id_categoria = 0;
}
$db = mysql_connect($db_host, $db_username, $db_password, $prefix3 );
if ($db == FALSE)
die ("Errore nella connessione. Vi preghiamo di contattare l'assistenza.");
mysql_select_db($databse_name, $db)
or die ("Errore nella selezione del database. Vi preghiamo di contattare l'assistenza.");
if(isset($id_categoria) && $id_categoria != 0)
{
$query = "SELECT id FROM ".$prefix3."_apple WHERE categoria='".$id_categoria."'";
}else{
$query = "SELECT id FROM ".$prefix3."_apple";
}
$result = mysql_query($query, $db);
$result_number = mysql_num_rows($result);
// risultati per pagina(secondo parametro di LIMIT)
$per_page = 10;
// numero totale di pagine
$tot_pages = ceil($result_number/$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
if(isset($id_categoria) && $id_categoria != 0)
{
$query_limit = mysql_query("SELECT id, data, titolo, categoria FROM ".$prefix3."_apple WHERE categoria = '".$id_categoria."' LIMIT $primo, $per_page");
}else{
$query_limit = mysql_query("SELECT id, data, titolo, categoria FROM ".$prefix3."_apple LIMIT $primo, $per_page");
}
$categorie = array("", "OS", "Software", "iPod & iPhone", "Prodotti", "News");
if ($result_number == 0)
{
echo '<span class="text1">Nessun articolo inserito</span>';
}
else
{
while($row = mysql_fetch_array($query_limit))
{
echo <<<EOD
<table width="100%">
<tr>
<td align="left" class='text1'><a href="view.php?id={$row['id']}"><strong>{$row['titolo']}</strong></a><br></td>
<td align="right">{$row['data']}</td>
</tr>
<tr>
<td align="left" colspan="2"> </td>
</tr>
<tr>
<td align="left">{$categorie[$row['categoria']]}</td>
<td align="right"> </td>
</tr>
</table>
EOD;
}
}
// includiamo uno dei files contenenti la paginazione, commentate l'altro ovviamente
include("paginazione.php");
//include("paginazione_2.php");
// in questa cella inseriamo la paginazione
echo "<div align=\"center\">\n<table>\n";
echo " <tr>\n <td height=\"50\" valign=\"bottom\" align=\"center\" class='paginazione'>$paginazione</td>\n";
echo " <tr>\n <td height=\"50\" valign=\"bottom\" align=\"center\" class='paginazione'>Pagina: $current_page</td>";
echo " <tr> <td align=\"center\" class='paginazione'>Vai a pagina: ";
for ($i=1; $i<=$tot_pages; $i++)
{
echo "<a href=\"?page=$i\" title=\"Vai alla pagina successiva\" class='paginazione'>$i</a>\n";
}
echo "</td>";
echo " </tr>\n</table>\n</div>";
mysql_close($db);
?>
Paginazione:
Codice PHP:
<?php
if ($tot_pages != 1)
{
if($current_page == 1)
{
$next_page = $current_page + 1;
$successiva = "<a href=\"?page=$next_page\" title=\"Vai alla pagina successiva\">Pagina Successiva</a>";
}
else
{
if ($current_page == $tot_pages)
{
$previous_page = $current_page - 1;
$precedente = "<a href=\"?page=$previous_page\" title=\"Vai alla pagina precedente\">Pagina Precedente</a>";
}
else
{
$previous = $current_page - 1;
$precedente = "<a href=\"?page=$previous\" title=\"Vai alla pagina precedente\" class='paginazione'>Pagina Precedente </a>";
$next_page = $current_page + 1;
$successiva = "<a href=\"?page=$next_page\" title=\"Vai alla pagina successiva\" class='paginazione'> - Pagina Successiva</a>";
}
}
}
$paginazione = "$precedente$successiva";
?>