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 %>

Rispondi quotando