Sto lavorando ad una galleria di immagini e sono a buon punto.

Ho un problema di paginazione.
Attualmente vengono estratte le immagini dal db e disposte in una tabella con 2 colonne e tante righe quanti sono i record estratti.
Finché vengono caricate poche immagini 8/10, va tutto bene. Quando, invece, le immagini sono molte di più, sarebbe meglio suddividere il tutto in più pagine.

Vorrei fare in modo che le immagini vengano distribuite nella pagina nella tabella (esattamente come succede adesso), ma in più, se le immagini raggiungono un certo numero, devono essere distribuite in altre pagine.

L'idea sarebbe: 2 immagini per riga, con un massimo di 20 immagini per pagina.

Ho fatto un po' di ricerche qui nel forum, ma non sono riuscito a risolvere il mio problema. Ho trovato diverse soluzioni legate alla paginazione, ma non riesco ad "integrare" la paginazione con la mia distribuzione di record nella tabella (2 colonne) e con la presenza del form per la scelta delle gallerie (vedi codice).

Qualche suggerimento? Grazie!


codice:
' Un form per scegliere da elenco a discesa una delle gallerie. 
<form method="post" action="">
Scegli la galleria:
<select onChange="goPage(this.options[this.selectedIndex].value)" class="scelta" name="galleria" id="galleria">
<option value="#" selected="selected">-------------------</option>
<%

SqlString = "SELECT * FROM gallerie WHERE attiva =1 ORDER BY posizione ASC"
Set RS = Conn.Execute(SqlString)

Do While Not RS.EOF
galleria=RS("galleria")
nomegalleria=RS("nomegalleria")
valore=RS("id")
Response.Write("<option value=fotogallery.asp?galleria=" & galleria &">" & nomegalleria &"</option>")
RS.MoveNext
Loop 
%>
</select>
<input name="ScegliGalleria" value="1" type="hidden">
</form>
<%
' Viene mostrata una galleria, in base alla scelta fatta 
scelta = Request.QueryString("galleria")

' Appena caricata, la pagina fotogallery.asp, mostra una prima galleria di immagini
' (non è stata fatta nessuna scelta dal form).
IF scelta <> "" Then
Set RS1 = Server.CreateObject("ADODB.Recordset")
RS1.ActiveConnection = Conn
RS1.Open "SELECT galleria FROM gallerie WHERE galleria='"& scelta &"'"

%>

<table width="500" border="0">
<tr>
<% 

SqlGallery = "SELECT * FROM gallery INNER JOIN gallerie ON gallery.id_galleria = gallerie.id  WHERE gallerie.galleria='"& scelta &"'"
SET RS = Conn.Execute(SqlGallery)

Cella = 1

IF NOT RS.EOF THEN

Do Until RS.EOF

Response.Write("<td width='50%' align='center' valign='top'>")
Response.Write("<a href=""javascript:PrevFoto('/images/gallery/")
Response.Write RS("galleria")
Response.Write("/")
Response.Write RS("nome")
Response.Write("')"">")
Response.Write("<img src='/images/gallery/")
Response.Write RS("galleria")
Response.Write("/thumbs/")
Response.Write RS("nome")
Response.Write("' class='border' border='0' alt='")
Response.Write RS("nome")
Response.Write("' /></a>

</td>")

' Vengono stampati i record in una tabella, con due colonne 
If Cella = 2 THEN
Response.Write("</tr>")
Response.Write("<tr>")
Cella = 1
Else
Cella = Cella +1
End If

RS.MoveNext
Loop

End If 
%>
</table>
<%
Else
' Se invece viene fatta un scelta dal form, viene mostrata la galleria scelta 
%>
<table width="500" border="0">
<tr>
<% 

SqlGallery = "SELECT * FROM gallery INNER JOIN gallerie ON gallery.id_galleria = gallerie.id  WHERE gallerie.attiva =1 AND  gallerie.posizione=1"
SET RS = Conn.Execute(SqlGallery)

Cella = 1

IF NOT RS.EOF THEN

Do Until RS.EOF

Response.Write("<td width='50%' align='center' valign='top'>")
Response.Write("<a href=""javascript:PrevFoto('/images/gallery/")
Response.Write RS("galleria")
Response.Write("/")
Response.Write RS("nome")
Response.Write("')"">")
Response.Write("<img src='/images/gallery/")
Response.Write RS("galleria")
Response.Write("/thumbs/")
Response.Write RS("nome")
Response.Write("' class='border' border='0' alt='")
Response.Write RS("nome")
Response.Write("' /></a>

</td>")

' Esattamente come prima, vengono stampati i record in una tabella, con due colonne 
If Cella = 2 THEN
Response.Write("</tr>")
Response.Write("<tr>")
Cella = 1
Else
Cella = Cella +1
End If

RS.MoveNext
Loop

End If 
%>
</table>
<% 

End If

%>