Filoweb.it

Dividere il risultato di una Query in più pagine


FB TW G+ whatsapp RSS FEED
ASP
Dividere il risultato di una Query in più pagine


  Supponiamo, per esempio, di avere un database Access contenente gli iscritti ad una mailing list, e di voler visualizzare tutti gli iscritti sul nostro browser; poniamo di voler visualizzare 5 iscritti in ogni pagina. Il codice del file, che chiameremo list.asp, è qui di seguito visualizzato:

<%
' Creiamo la connessione al database
Dim Conn
Set Conn = Server.CreateObject (" ADODB.Connection" )
Conn.Open " driver={Microsoft Access Driver (*.mdb)};dbq=" &_
          server.MapPath(" maillinglist.mdb" )

' Rileviamo la pagina da visualizzare dalla stringa dell' URL
pag = TRIM(Request.QueryString(" pag" ))
If pag=" "  Then
  pag = 1
Else
  pag = CInt(pag)
End If

' Creiamo la stringa sql
Dim sql
sql = " SELECT * FROM Tabella_Iscritti" 
Dim rs
Set rs = Server.CreateObject (" ADODB.Recordset" )
' Settiamo il numero di record per pagina
rs.PageSize = 5
rs.Open sql, conn, 3, 3
rs.AbsolutePage = pag

' Ora stampiamo gli indirizzi su schermo
For i=1 to rs.PageSize
  Response.Write( rs(" NOME" )&" <br>"  )
  rs.MoveNext
  If rs.EOF Then Exit For
Next

' Prepariamo i link per le altre pagine della lista
If ( pag > 1) Then
  Response.Write(" <a href=" " list.asp?pag="  &pag-1& " " " >Pagina precedente</a>" )
End If
If ( pag < rs.PageCount ) Then
  Response.Write( " <a href=" " list.asp?pag="  &pag+1& " " " >Pagina successiva</a>" )
End If
%>

Nell' esempio abbiamo sfruttato alcune proprietà dei recorset:
- PageCount: ci permette di sapere il numero totale delle pagine;
- AbsolutePage: imposta o restituisce la pagina corrente;
- PageSize: consente di impostare il numero di record che si intende visualizzare in ogni pagina. 
FB TW G+ whatsapp RSS FEED

filoweb.it è il sito personale di Filippo Brunelli
(c) 2017 Filippo Brunelli
Le immagini ed i testi contenuti nel sito sono di proprietà di Filippo Brunelli salvo diversamente indicato.
L'uso delle immagini e del testo è gratuito per uso personale ed è subbordinato alla citazione della fonte.
Brunelli Filippo declina ogni responsabilità per l'uso che viene fatto delle informazioni presenti nel sito.
FILOWEB.it Piccolo quaderno degli appunti. Argomento: ASP, Titolo:Dividere il risultato di una Query in più pagine. Altri script riguardano: CSS, Jscript, .net, Classic Asp, HTML, Jquery, varie, url rewrite, pagina protetta da password, ecc. Altro su https://www.filoweb.it