Salve a tutti.... ho il problema della paginazione e purtroppo non riesco a capire come mai non funziona!!!
Mi potreste dire cosa c'è di sbagliato?
code:
// esecuzione prima query
$query = "SELECT * " .
"FROM ".$prefix."_dati , ".$prefix."_regioni , ".$prefix."_provincie ".
"WHERE ".$prefix."_dati.Regione = ".$prefix."_regioni.r_id " .
"AND ".$prefix."_dati.Provincia = ".$prefix."_provincie.p_id " .
"ORDER BY Nome";
$records = mysql_query($query)
or die(mysql_error());
// numero totale di records
$tot_records = mysql_num_rows($records);
// risultati per pagina(secondo parametro di LIMIT)
$per_page = 4;
// 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;
echo "<div align=\"center\">\n<table width=\"90%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n";
// esecuzione seconda query con LIMIT
$query_limit = mysql_query("SELECT regioni, provincie, Provincia, Nome, Descrizione, Informazioni FROM ".$prefix."_dati, ".$prefix."_regioni , ".$prefix."_provincie WHERE ".$prefix."_dati.Regione = ".$prefix."_regioni.r_id AND ".$prefix."_dati.Provincia = ".$prefix."_provincie.p_id AND Provincia = '$_GET[prov]' AND Regione = '$_GET[rg]' LIMIT $primo, $per_page");
$totale = mysql_num_rows($records);
$i=1;
while($results = mysql_fetch_array($query_limit)) {
extract($row);
if ($i==1) {
echo "<center><b>"._Title." </b><br><br></center><br>";
echo "Sono presenti nel nostro archivio <b>".$records."</b> dati per la provincia di <b>$provincie </b><br><br>";
}
$i++;
echo " <tr>\n <td>";
echo "<font class=\"dati\"><center>" . $results['Nome'] . "</center></font>";
echo "<table width=\"90%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">"
. " <tr>"
. " <td bgcolor=\"#B0C6B8\" align=\"left\" width=\"20%\">Descrizione:</td>"
. " <td width=\"80%\">" . $results['Descrizione'] . "</td>"
. " </tr>"
. " <tr>"
. " <td bgcolor=\"#C1DDBA\" align=\"left\" width=\"20%\">Informazioni:</td>"
. " <td width=\"80%\">" . $results['Informazioni'] . "</td>"
. " </tr>"
. "</table><br>";
echo "</td>\n </tr>\n";
}
// includiamo uno dei files contenenti la paginazione, commentate l'altro ovviamente
include("paginazione_2.php");
//include("paginazione_2.php");
// in questa cella inseriamo la paginazione
echo " <tr>\n <td height=\"50\" valign=\"bottom\" align=\"center\">$paginazione</td>\n";
echo " </tr>\n</table>\n</div>";
------------------------------------------------------------
Mentre questo è il codice della paginazione:
code:
$paginazione = "Pagine totali: <b>" . $tot_pages . "</b> [";
for($i = 1; $i <= $tot_pages; $i++) {
if($i == $current_page) {
$paginazione .= $i . " ";
} else {
$paginazione .= "<a href=\"?name=sagre&rg=$Regione&prov=$Provincia&page=$i\" title=\"Vai alla pagina $i\">$i</a> ";
}
}
$paginazione .= "]";
------------------------------------------------------------
Avrei bisogno con urgenza di risolvere il problema. Se qualcuno puo aiutarmi ne sono veramente felice!!!
Ringrazio chi mi risponderà!!!
Ciao
Mi potreste dire cosa c'è di sbagliato?
code:
// esecuzione prima query
$query = "SELECT * " .
"FROM ".$prefix."_dati , ".$prefix."_regioni , ".$prefix."_provincie ".
"WHERE ".$prefix."_dati.Regione = ".$prefix."_regioni.r_id " .
"AND ".$prefix."_dati.Provincia = ".$prefix."_provincie.p_id " .
"ORDER BY Nome";
$records = mysql_query($query)
or die(mysql_error());
// numero totale di records
$tot_records = mysql_num_rows($records);
// risultati per pagina(secondo parametro di LIMIT)
$per_page = 4;
// 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;
echo "<div align=\"center\">\n<table width=\"90%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n";
// esecuzione seconda query con LIMIT
$query_limit = mysql_query("SELECT regioni, provincie, Provincia, Nome, Descrizione, Informazioni FROM ".$prefix."_dati, ".$prefix."_regioni , ".$prefix."_provincie WHERE ".$prefix."_dati.Regione = ".$prefix."_regioni.r_id AND ".$prefix."_dati.Provincia = ".$prefix."_provincie.p_id AND Provincia = '$_GET[prov]' AND Regione = '$_GET[rg]' LIMIT $primo, $per_page");
$totale = mysql_num_rows($records);
$i=1;
while($results = mysql_fetch_array($query_limit)) {
extract($row);
if ($i==1) {
echo "<center><b>"._Title." </b><br><br></center><br>";
echo "Sono presenti nel nostro archivio <b>".$records."</b> dati per la provincia di <b>$provincie </b><br><br>";
}
$i++;
echo " <tr>\n <td>";
echo "<font class=\"dati\"><center>" . $results['Nome'] . "</center></font>";
echo "<table width=\"90%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">"
. " <tr>"
. " <td bgcolor=\"#B0C6B8\" align=\"left\" width=\"20%\">Descrizione:</td>"
. " <td width=\"80%\">" . $results['Descrizione'] . "</td>"
. " </tr>"
. " <tr>"
. " <td bgcolor=\"#C1DDBA\" align=\"left\" width=\"20%\">Informazioni:</td>"
. " <td width=\"80%\">" . $results['Informazioni'] . "</td>"
. " </tr>"
. "</table><br>";
echo "</td>\n </tr>\n";
}
// includiamo uno dei files contenenti la paginazione, commentate l'altro ovviamente
include("paginazione_2.php");
//include("paginazione_2.php");
// in questa cella inseriamo la paginazione
echo " <tr>\n <td height=\"50\" valign=\"bottom\" align=\"center\">$paginazione</td>\n";
echo " </tr>\n</table>\n</div>";
------------------------------------------------------------
Mentre questo è il codice della paginazione:
code:
$paginazione = "Pagine totali: <b>" . $tot_pages . "</b> [";
for($i = 1; $i <= $tot_pages; $i++) {
if($i == $current_page) {
$paginazione .= $i . " ";
} else {
$paginazione .= "<a href=\"?name=sagre&rg=$Regione&prov=$Provincia&page=$i\" title=\"Vai alla pagina $i\">$i</a> ";
}
}
$paginazione .= "]";
------------------------------------------------------------
Avrei bisogno con urgenza di risolvere il problema. Se qualcuno puo aiutarmi ne sono veramente felice!!!
Ringrazio chi mi risponderà!!!
Ciao