Newsgroup: it.comp.www.asp
Titolo: HELP:Problemi con impaginazione

Ciao a tutti,
ho un problema con l'impaginazione asp.
Ho costruito un database che contiene gli indirizzi
di immagini da scaricare.
Ho già creato una pagina funzionante sul sito, ma non ha l'impaginazione.
Siccome ho categorie di immagini che oltrepassano i dieci record per pagina,
limite che mi sarei prefissato, volevo impaginare come i motori di ricerca.
Da qui l'inizio dell'odissea.
Ho girato tutti i portali di tutorial 
aspitalia.com
 compresa,
ho acquistato tre libri di Asp ... niente.
L'unico tutorial, che personalizzato mi funziona in parte è quello del
"mecatino" degli annunci su aspitalia.
Dico in parte perchè non riesco a generare, superato i dieci record, la
pagina con i succesivi dieci.
Vi metto il codice della pagina che gestisce la ricerca e l'impaginazione.
Spero proprio che qualcuno di voi mi riesca ad aiutare,
se no non mi rimane che dare fuoco al computer e darmi all'agricoltura a
tempo indeterminato.
Grazie anticipatamente a tutti.
=====================================
Pagina 1 default.html
contiene un form con un <select >  in cui ci sono le opzioni di ricerca che
vengono passati alla pagina asp
con il metodo POST
-----------------------------------------------------
Pagina ASP
<HTML>
<HEAD>
<TITLE>Risultato</TITLE>
</HEAD>
<BODY>
<%
categoria=request.form("categoria")
categoria=CStr(categoria)
Session("pagina") = CLng(Session("pagina"))
Select Case Request.QueryString("direzione")
Case ""
Session("pagina") = 1
Case "Ago"
Session("pagina")= Session("pagina") + 1
Case "Goback"
Session("pagina")= Session("pagina") - 1
End Select
Const adOpenKeyset = 1
SQL="select * from cliparts where  cliparts.categoria='" & categoria &"'"
Set con = Server.CreateObject("ADODB.Connection")
set rs = Server.CreateObject("ADODB.Recordset")
con.Open "gestione"
rs.Open SQL, con, adOpenKeyset
     if rs.recordcount ="0" then
%>
  <p>Nessun Immagine Disponobile</p><br>
    <a href="#" onClick="history.back()" >
    Torna Indietro
    </a>
<%
else
rs.pageSize = 10
rs.AbsolutePage = CLng(Session("pagina"))
recordid=rs.recordcount
if rs.recordcount <> rs.pagesize * rs.pagecount then
quanti=rs.recordcount
pagine=rs.pagecount-1
pagtotali=rs.pagecount
    if CLng(Session("pagina")) = rs.pagecount then
    rs.pagesize=quanti-(rs.pagesize*pagine)
    pagtotali=CLng(Session("pagina"))
    end if
else
    pagtotali=rs.pagecount
end if
%> </p>
  <p><%=categoria%>, ho trovato <%=recordid%> clipart.
 Questa è la Pagina <%=Session("Courrentpage")%> di <%=pagtotali%></p>
<% if recordid > rs.pagesize then %>
<%
rem Link alla pagina precedente
If CLng(Session("pagina")) > 1 Then %>
<p> <a href="cliparts.asp?Direction=Goback&categoria=<%=categoria%>">
vai a Pagina <%=(Session("pagina")-1)%></a>
<%End If%>
<%
rem Link alla pagina seguente
if CLng(Session("pagina")) <> pagtotali then
If CLng(Session("pagina"))< rs.PageCount Then %>
             <p><a
href="cliparts.asp?Direction=Ago&categoria=<%=categoria%>">
vai a Pagina <%=(Session("pagina")+1)%></a></p>
<%
End If
End if
%>
<%
End if
Dim i
For i = 1 To rs.PageSize
%>
     <%=rs("nome")%>
<%
rs.MoveNext
Next
if recordid > rs.pagesize then %>
<%
rem Link alla pagina precedente
If CLng(Session("pagina")) > 1 Then %>
<p><a href="cliparts.asp?Direction=Goback&categoria=<%=categoria%>">
vai a Pagina <%=(Session("Courrentpage")-1)%></a></p>
<%End If%>
<%
'Link alla pagina seguente
if CLng(Session("pagina")) <> pagtotali then
If CLng(Session("pagina"))< rs.PageCount Then %>
<p><a href="cliparts.asp?Direction=Ago&categoria=<%=categoria%>">
vai a Pagina <%=(Session("pagina")+1)%></a>
<%
End If
End if
%>
<%
End if
End if
%>
</BODY>
</HTML>

Lo script è lungo e non possiamo testarlo. Su vari siti sono scripts con
funzioni di paginazione già pronti ed efficaci. Cerca quello che si chiama
"Paging dei record da ASP" sul sito Microsoft, è fatto bene e può facilmente
essere esteso.
Ciao!
Paolo