Newsgroup: it.comp.www.asp
Titolo: Paginazione

Un piccolo problema sulla paginazione...
Un form mi passa dei dati che vengono elaborati da una query, restituendomi
una serie di informazioni che vado a tabellare.
Volevo usare la paginazione, per visualizzare solo tot record per pagina.
Vi posto il codice:
<%@ Language=VBScript %>
<% Option Explicit %>
<%
 dim recordsperpagina, page, i
 recordsperpagina=5
 page=request("page")
 if page = "" then page=1
 dim strusername, strsql, strRif, StrCliente, strPosizione, strAreaLavoro,
strProvincia, strInquadramento, strEta, strtesto
 strusername = session("Username")
 strrif = Request.Form("rif")
 strCliente = Request.Form("Cliente")
 strPosizione = Request.Form("Posizione")
 strAreaLavoro = Request.Form("AreaLavoro")
 strProvincia = Request.Form("Provincia")
 strInquadramento = Request.Form("Inquadramento")
 streta = Request.Form("eta")
 strtesto = Request.Form("cercatesto")
'dichiaro la query
 strsql = "Select * From tblannunci WHERE Username = '"&strusername&"' AND
Rif LIKE '"&strrif&"' AND Cliente like '"&strCliente&"' AND Posizione like
'"&strPosizione&"' AND AreaLavoro like '"&strAreaLavoro&"' AND Provincia
like '"&strProvincia&"' AND Inquadramento like '"&strInquadramento&"' AND
eta like '"&streta&"' AND testo like '%"&strtesto&"%'"
  dim objrs
  set objrs = server.createObject("ADODB.Recordset")
  objRs.Open strsql, objconn, adopenkeyset
  objrs.pagesize = recordsperpagina
  objrs.absolutepage = page
 if objrs.EOF=true or objrs.BOF=true then
Response.Write "Nessuna Annuncio Attualmente in corso corrisponde ai criteri
impostati"
 else
 %>
<P>
<TABLE border="1" height="51" width="712">
<TR>
<TD height="19" width="20">rif</TD>
<TD height="19" width="42">Cliente</TD>
.....
</TR>
<%
for i=1 to recordsperpagina
if not objrs.EOF then
%>
<TR>
<TD height="20" width="20"><%=objrs("Rif")%></TD>
<TD height="20" width="42"><%=objrs("Cliente")%></TD>
....
<TD height="20" width="33">
'per ogni riga della tabella ho un submit che mi permette di vedere i
relativi dettagli
  <form method="post" action="DettagliAnnunciopartenza.asp">
      <p><input type="Hidden" name="Rif" Value="<%=objrs("Rif")%>"><input
type="submit" value="Visualizza Dettagli" name="B1"></p>
  </form>
  <p></TD>
<%
 objrs.movenext
 end if
 next
 end if
response.write "<p><B>Pagine:</B>"
for page=1 to objrs.pagecount
response.write "<A href='Risultatipag2.asp?page="& page
response.write "&"& server.Urlencode(strsql)
response.write "'>"
response.write page
response.write "</A>"
next
response.write "</p>"
%>
</TABLE>
<%
objrs.close
set objrs = nothing
objconn.close
set objconn = nothing
%>
La prima pagina è corretta. Mi visualizza i primi n record, (5, in questo
caso). qaundo clicco sul "2" che mi dovrebbe portare alla seconda pagina, mi
esce questo messaggio:
ADODB.Recordset errore "800a0bcd"
Il record corrente corrisponde all'inizio o alla fine del file oppure è
stato eliminato. Per eseguire l'operazione richiesta dall'applicazione è
necessario disporre di un record corrente.
/Risultatipag2.asp, riga 48
dove la riga 48 è
  objrs.absolutepage = page
e lo stesso mi succede se clicco sull'"1", per tornare alla prima pagina.
Dove sbaglio?
Grazie
Ale

Io ho usato l'esempio su 
phpitalia.com
 e funziona.
Ciao, Nicola
----------------------------------------------------------------------------
vieni su
www.pignatelli.com
Risorse Web per principianti e non
----------------------------------------------------------------------------

 Io ho usato l'esempio su 
phpitalia.com
 e funziona.
Beh, anch'io ho usato l'esempio trovato su 
aspitalia.com
, che mi funziona
perfettamente su una query tipo:
sql = "SELECT * FROM miatabella"
Non mi funziona più quando la query è più articolata, tipo quella che ho
postato prima.
Comunque, grazie per l'indicazione.
Ale


Moderatore di it.comp.www.asp
Sito di supporto: 
http://www.aspitalia.com/newsgroup/
La piy grande community italiana di sviluppatori!

 next
Il link alle pagine successive dovrebbe inviare la query generata per
ovviare al problema sopra citato ma non hai assegnato un nome alla variabile
che dovrebbe contenere la query e cosa + importante non c'è un controllo
all'inizio del codice che stabilisca o meno la necessità di generare la
query o semplicemente processare quella in argomento.
Io farei così:
response.write "<A href='Risultatipag2.asp?page="& page
response.write "&strsql="& server.Urlencode(strsql)
response.write "'>"
ed aggiungerei all'inizio del codice (vedi*) :
strsql = Request(strsql)
if ="" then
' Codice per la generazione query
End If
Spero di aver centrato il problema,
ciao

 questo h piy flessibile.
Ho infatti provato ad utilizzare anche quella che mi indichi tu, ma il
problema č lo stesso: mi da lo stesso errore sullo stessa riga, ovvero su
objrs.absolutepage = page
Il codice, inoltre, ho provato a modificarlo in vari modi, ma il problema
rimaneva inalterato. Ho postato quello iniziale perchč non riuscivo a capire
perchč funzionasse su una quesry semplice e mi desse errore su una piů
articolata.
Comunque grazie!
Ale