ciao a tutti
Mi piacerebbe sapere come si fa a visualizzare un numero di dati per pagina dando la possibilità di passare alla successiva: proprio come questo forum che visualizza 30 righe di discussioni per pagina.
Sto elaborando una pagina che visualizza le immagini di un db, servendomi di un'altra pagina 'action.php' la quale definisce le azioni $_GET e la variabili.
Ora, volendo visualizzare 20 foto per pagina, mi sto trovando in difficoltà a definire un'altra variabile ad esempio $_GET['start'], che mi permetta di interagire con LIMIT ed utilizzarla correttamente anche nel file 'action.php'.
Lo script delle 2 pagine è il seguente:
1. Pagina che visualizza le immagini
Codice PHP:
<?php
// Connesione a mysql
@mysql_connect("localhost", "nori", "nori") or die("Connessione fallita !");
// Selezione database
@mysql_select_db("planetmodels") or die("Selezione Database fallita !");
// Tipi di file visualizzabili
$visualizzabili = array("image/jpeg", "image/pjpeg", "image/gif", "image/png");
//QUI IMPOSTO IO IL LIMITE A 20 MA DOVREBBE ESSERE IN UNA VARIABILE AD ESEMPIO $_GET['start']
$query = "SELECT * FROM foto ORDER BY foto_id LIMIT 20";
$select = @mysql_query($query) or die("Query fallita !");
echo "<table width=\"734\" height=\"29\" border=\"1\" align=\"center\" cellpadding=\"0\" cellspacing=\"1\" bgcolor=\"#FFFFFF\" bordercolor=\"#F2F2FD\">";
echo " <tr>\n";
echo "<td align=\"center\" valign=\"top\">";
echo "<div align=\"center\"><span class=\"testoros\">pagina </span>";
echo "<a class=\"testoblu\" href=\"???????\"> 1 </a>"; //ANCHE QUI NON SAPREI COME COMPORTARMI
echo "<a class=\"testoblu\" href=\"???????\"> 2 </a>"; //IDEM
echo "<a class=\"testoros\" href=\"???????\">successive></a>";
echo "</div>\n";
echo "</td>\n";
echo " <tr>\n";
echo "</table>\n";
echo "<div align=\"center\">";
echo "<table border=\"1\" width=\"732\">";
$colonna = 0;
echo " <tr>\n";
$nr = mysql_affected_rows(); //In nr mette il numero di immagini totali
for ($i = 0; $i<=$nr; $i++){
$result = @mysql_fetch_array($select);
//Istruzioni per inserire l'immagine
if(in_array($result["foto_tipo"], $visualizzabili)) {
echo "<td align=\"center\">";
echo "<img src=\"action.php?action=view&Id=" . $result["foto_id"] . "\">";
echo "
\n";
echo $result["foto_modelnome"];
echo "</td>\n";
$colonna++;
}
if ($colonna > 5) {
//Istruzioni per mettere una nuova riga
echo "</tr>\n";
echo " <tr>\n";
$colonna = 0;
}
}
echo "</table>\n</div>\n";
// Chiudiamo la connesione a mysql
@mysql_close();
?>
2. action.php
Codice PHP:
<?php
//ANCHE QUI DOVREI UTILIZZARE LA $_GET['start'] MA MI TROVO IN DIFFICOLTA'
if(!isset($_GET)) {
}
else {
$_GET = $HTTP_GET_VARS;
if($_GET["action"] && $_GET["Id"] && is_numeric($_GET["Id"])) {
// Connesione a mysql
@mysql_connect("localhost", "nori", "nori") or die("Connessione fallita !");
// Selezione database
@mysql_select_db("planetmodels") or die("Selezione Database fallita !");
switch($_GET["action"]) {
// Visualizzazione
case "view" :
$query = "SELECT foto_1small, foto_tipo " .
"FROM foto " .
"WHERE foto_id = '" . $_GET["Id"] . "' ";
$select = @mysql_query($query) or die("Query fallita !");
$result = @mysql_fetch_array($select);
$data = $result["foto_1small"];
$type = $result["foto_tipo"];
Header("Content-type: $type");
echo $data;
break;
default :
// Default case, nessuna azione
break;
} // endswitch
// Chiudiamo la connesione a mysql
@mysql_close();
} //endif
}
?>
ringrazio chi potesse darmi una mano