Ciao a tutti, sto realizzando una semplicissima galleria fotografica in php, in pratica mi sono fatto una pagina index dove vado a chiedere all'utente di inserire numero righe e colonne per scegliere quante foto visualizzare.


Codice PHP:
<html>
<
head>
<
link rel="shortcut icon" href="http://asnafa.altervista.org/Compito_Vacanze/favicon.ico" />
  <
titleBanksy's Art Gallery </title>
<h1> <center> <b> <font size ="7" color="yellow">Galleria d'
arte Banksy </font> </b> </center> </h1
</
head>
<
body background="http://www.c4dzone.com/data/dow/images/Muro_mattoni.jpg">
<
br>
<
br>
<
br>


<
center>
<
div style="text-align: center">

<
form method="post" action="galleria.php">
  <
b> <font size ="6" color="yellow"Inserire il numero delle righe: </font></b>
<
br>
<
input type="int" name="righe" size="20"> <br>
  <
b><font size ="6" color="yellow">Inserire il numero delle colonne: </font></b>
<
br>
<
input type="int" name="colonne" size="20">
<
br>
<
input type="submit" value="GENERA">
  <
input type="reset" value="CANCELLA">
</
center>
 </
form>

</
div>


 </
center>
 </
body>
 </
html
Questa pagina mi rimanda ad una chiamata galleria.php

Codice PHP:

<?php


$database
="ecc";
      
$db=mysql_connect('''''');
      @
mysql_select_db($database)
      or die( 
"Impossibile selezionare il database.");



echo 
"<center>";
echo 
"<table>";


$righe=$_POST['righe'];
$colonne=$_POST['colonne'];
$immagini_per_pagina=$righe*$colonne;


$query "SELECT * FROM galleria ORDER By ID";
$res mysql_query($query) or die (mysql_error());


$n_img mysql_num_rows($res);


if(
$n_img >= ){
  
$righe_da_fare=0;
  
$limite_immagine=0;
  
$immagini_aperte=0;

  while (
$f=@mysql_fetch_array($res)){
    
$righe_da_fare++;
    
$ID $f['ID'];
    
$descrizione stripslashes($f['Descrizione']);

    if(
$limite_immagine<$immagini_per_pagina) {
  
      echo 
"<td wIDth=\"33%\">\n";
      echo
"<div align='center'>"
      
      
      
      echo 
'<img width="200" height="160" style="cursor: -moz-zoom-in;"  img src="'.$f['link'].' " onclick="this.width=596;this.height=435;" ondblclick="this.width=200;this.height=160;"/>';
    


    echo
"</div>";
      echo
" <font size='4' color='yellow'>";
      echo
"    <b>"  ;
      echo 
"<br />" $descrizione;
      echo 
"</b>";
      echo 
"</font>";
      echo 
"</td>\n";
      
$immagini_aperte++;
    }
    
$limite_immagine++;
 
    if (
$righe_da_fare==$colonne){
      echo 
"</tr><tr>\n";
      
$righe_da_fare=0;
    }
  }
}
echo 
"</table>";
echo 
"</center>";

if(
$immagini_aperte<$n_img) {
  echo
"  <div style='text-align: right'>";
  echo 
"<b>";
  echo 
'<br><a href="#">SUCCESSIVE  </a>';
  echo
" <br>";
  echo
" <br>";
  echo
" <a href='http://asnafa.altervista.org/Compito_Vacanze/index.php'> Torna alla Home  </a>";
  echo
"</div> ";
  

  
?>
Nel database ho 12 immagini, l'utente decide di vedere 4 immagini alla volta, quindi 2 righe e 2 colonne, come faccio a far avanzare la pagina in modo tale che vada a prendere le altre immagini?
Voglio avere un bottone che mi permetta di andare avanti ed indietro, ovviamente arrivati all'ultima pagina deve tornare alla prima!

In rete ho trovato questo, ma non riesco ad addattarlo
Codice PHP:
<?php



//Conto quanti record sono presenti nella table
$count mysql_query("SELECT COUNT(id) FROM tb_prova");
$res_count mysql_fetch_row($count);
$tot_records $res_count[0];

//Risultati per pagina(secondo parametro di LIMIT)
$ris_for_row 2;
$ris_for_col 2;
$ris_for_page $ris_for_row*$ris_for_col;

//Function ceil arrotonda al primo valore interno pi�� alto
$tot_pages ceil($tot_records $ris_for_page);

//DEBUG
echo "Tot records: ".$tot_records." Ris for page: ".$ris_for_page." Tot pages: ".$tot_pages;

//Setto la pagina corrente
if (!$_GET['page']) {
    
$current_page 1;
}
else 
$current_page $_GET['page'];

//Setto var di sessione da usare nella pagina di paging
$_SESSION['tot_pages']=$tot_pages;
$_SESSION['current_page']=$current_page;

//primo parametro di LIMIT
$first_limit=($current_page-1)*$ris_for_page;

echo 
"<div align=\"center\">\n<table>\n";

//Query con LIMIT
$query_limit mysql_query("SELECT id, nome, descrizione FROM tb_prova LIMIT $first_limit$ris_for_page");

//Scorro l'array fino in fondo
$n=0;
while (
$n $tot_records) {
echo 
"<tr>";

//A seconda della quantit�� di oggetti per riga, ciclo il fetch dei risultati all'interno di un ciclo for
for ($i=0;$i<$ris_for_row;$i++) {
    
$results mysql_fetch_assoc($query_limit);
    echo 
"<td>";
    echo 
"<a href=\"page.php?id=" $results['id'] . "\">" $results['nome'] . "</a>";
    echo 
"</td>";
    echo 
"<td>".$results['descrizione']."</td>";
    
$n++;
}

echo 
"</tr>\n";
}

echo 
"</table></div>";

//includo il file contenente la paginazione
include("paging.php");

echo 
"<div align=\"center\">";
echo 
"".$paginazione;
echo 
"</div>";
mysql_close();

?>

Impaginazione


Codice PHP:
<!-- Pagina contenente il codice per la paginazione da richiamare -->
<?php

//Recupero le variabili settate nella pagina di "principale"
$current_page=($_SESSION['current_page']);
$tot_pages=($_SESSION['tot_pages']);

//Se siamo nella prima pagina
if ($current_page == 1) {
    
$prev "<< prev";
}
    else {
        
$previous_page = ($current_page 1);
        
$prev "<a href=\"page.php?page=$previous_page\" title=\"Previous\" TARGET=\"_parent\"><< prev</a>";
    }

//Creo la lista   
$list="[ ";
for(
$i 1$i <= $tot_pages$i++) {
        if(
$i == $current_page) {
                
$list$list $i " ";
        }
        else {
            
$list$list "<a href=\"page.php?page=$i\" title=\"Vai alla pagina $i\" TARGET=\"_parent\">$i</a> ";
        }
}
$list$list "]";

//Se siamo nell'ultima pagina
if($current_page == $tot_pages)
$next "next >>";
        else
        {
                
$next_page = ($current_page 1);
                
$next "<a href=\"page.php?page=$next_page\" title=\"Next\" TARGET=\"_parent\">next >></a>";
        }

//Compongo la stringa da mostrare
$paginazione "$prev &nbsp&nbsp&nbsp $list &nbsp&nbsp&nbsp $next";
?>



Grazie a tutti!