ciao, grazie per la tua generosa risposta ma già la maggior parte delle cose che hai postato le avevo già fatte più o meno alla stessa maniera...il mio problema era solo cosa scrivere nell' onchange del select e che codice php usare per modificare il limit in base all'opzione selezionata. credo di aver applicato bene quello che mi hai detto ma mi esce un errore nella zona dell'echo con il select.
ora posto il codice php, spero che qualcuno possa consigliarmi come fare
Codice PHP:
<?
// Creo una variabile dove imposto il numero di record
// da mostrare in ogni pagina
$x_page = 5;
// Recupero il numero di pagina corrente.
// Generalmente si utilizza una querystring
$page = $_GET['page'];
// Controllo se $pag è valorizzato...
// ...in caso contrario gli assegno valore 1
if (!$page) $page = 1;
include("xxxxxxxxxxxxxxxxxxxxdatabase.inc.php");
mysql_connect($DBhost,$DBuser,$DBpass) or die("Impossibile collegarsi al server");
@mysql_select_db("$DBName") or die("Impossibile connettersi al database $DBName");
// Uso mysql_num_rows per contare le righe presenti
// all'interno della tabella agenda
$all_rows = mysql_num_rows(mysql_query("SELECT * FROM Prodotti"));
// Tramite una semplice operazione matematica definisco
// il numero totale di pagine
$all_pages = ceil($all_rows / $x_page);
// Calcolo da quale record iniziare
$first = ($page - 1) * $x_page;
// Recupero i record per la pagina corrente...
// utilizzando LIMIT per partire da $first e contare fino a $x_pag
$sqlquery = mysql_query("SELECT * FROM Prodotti ORDER BY Data DESC");
if($_SESSION['query_keys']['limit'])
{
$sqlquery .= " LIMIT $first,".$_SESSION['query_keys']['limit'];
}
$nr = mysql_num_rows($sqlquery);
if ($nr != 0){
for($x = 0; $x < $nr; $x++){
$row = mysql_fetch_assoc($sqlquery);
echo "<tr class=\"obblig\"><th class=\"column1\" scope=\"row\" width=\"110\">
<p class=\"obblig\" align=\"center\"><a class=\"obblig\" href=\"" . $row['Link Prodotto'] . "\"><img class=\"obblig\" height=\"142\" src=\"" . $row['Link Immagine Prodotto'] . "\" border=\"0\"></p></th>
<td class=\"obblig\">
<p class=\"obblig\" align=\"left\"><font class=\"obblig\" size=\"2\"><font class=\"obblig\" color=\"#0000ff\"><a class=\"obblig\" href=\"" . $row['Link Prodotto'] . "\"><font class=\"obblig\" size=\"2\"><font class=\"obblig\" color=\"#0000ff\" size=\"3\"><strong class=\"obblig\">" . $row['Nome Prodotto'] . "[/b]</font></a>
<font class=\"obblig\" color=\"#000000\" size=\"2\">" . $row['Descrizione Prodotto'] . "</font></font></p></font></font></td></tr>";
$row = mysql_fetch_assoc($sqlquery++);
$x++;
if($row['id']!=NULL){
echo "<tr class=\"odd\"><th class=\"column1\" scope=\"row\" width=\"110\">
<p class=\"obblig\" align=\"center\"><a href=\"" . $row['Link Prodotto'] . "\"><img class=\"obblig\" height=\"142\" src=\"" . $row['Link Immagine Prodotto'] . "\" border=\"0\"></p></th>
<td class=\"obblig\">
<p class=\"obblig\" align=\"left\"><font class=\"obblig\" size=\"2\"><font class=\"obblig\" color=\"#0000ff\"><a class=\"obblig\" href=\"" . $row['Link Prodotto'] . "\"><font class=\"obblig\" size=\"2\"><font class=\"obblig\" color=\"#0000ff\" size=\"3\"><strong class=\"obblig\">" . $row['Nome Prodotto'] . "[/b]</font></a>
<font class=\"obblig\" color=\"#000000\" size=\"2\">" . $row['Descrizione Prodotto'] . "</font></font></p></font></font></td></tr>";
}
}
}else{
echo "Nessun record trovato!";
}
?>
</tr></tbody></table>
<?
if($page == 1) { // se siamo nella prima pagina
$inizio = "<< Inizio";
$precedente = "< Prec";
$next_page = ($page + 1);
$successiva = "<a href=\"?page=$next_page\" title=\"Vai alla pagina successiva\">Succ ></a>";
$fine = "<a href=\"?page=$all_pages\" title=\"Vai alla pagina precedente\"> Fine>></a>";
}
else if($page != $all_pages){ // se siamo in qualsiasi pagina eccetto prima e ultima
$inizio = "<a href=\"?page=1\" title=\"Vai alla pagina precedente\"><< Inizio>></a>";
$previous_page = ($page - 1);
$precedente = "<a href=\"?page=$previous_page\" title=\"Vai alla pagina precedente\">< Prec</a>";
$next_page = ($page + 1);
$successiva = "<a href=\"?page=$next_page\" title=\"Vai alla pagina successiva\">Succ ></a>";
$fine = "<a href=\"?page=$all_pages\" title=\"Vai alla pagina precedente\"> Fine>></a>";
}
else { // se siamo nell'ultima pagina
$inizio = "<a href=\"?page=1\" title=\"Vai alla pagina precedente\"><< Inizio>></a>";
$previous_page = ($page - 1);
$precedente = "<a href=\"?page=$previous_page\" title=\"Vai alla pagina precedente\">< Prec</a>";
$successiva = "Succ >";
$fine = " Fine>>";
}
$paginazione = "<div align=\"center\">$inizio $precedente [ ";
for($i = 1; $i <= $all_pages; $i++) {
if($i == $page) {
$paginazione .= $i . " ";
}
else {
$paginazione .= "<a href=\"?page=$i\" title=\"Vai alla pagina $i\">$i</a>";
}
}
$paginazione .= "]" . " $successiva $fine </div>";
echo "<div class=\"limit\">Mostra #<select onchange=\"submitMyQuery(this)\" size=\"1\" class=\"inputbox\" id=\"limit\" name=\"limit\"><option selected=\"selected\" value=\"5\">5</option><option value=\"10\">10</option><option value=\"15\">15</option><option value=\"20\">20</option><option value=\"25\">25</option><option value=\"30\">30</option><option value=\"50\">50</option><option value=\"100\">100</option><option value=\"\">tutti</option></select></div>"
if($all_pages > 1){
echo $paginazione;
echo "<div align=\"center\">Pagina " . $page . " di " . $all_pages;
}
// Chiudo la connessione ad DB
mysql_close($conn);
?>
grazie a tutti anticipatamente per l'aiuto
ciao