<%
PortalConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.MapPath("Database/News.mdb")&";Persist Security Info=False"
Select Case Request.QueryString("dir")
Case ""
v_pagina_corrente = 1
Case "next"
v_pagina_corrente= cdbl(Request.QueryString("pag")) + 1
Case "prev"
v_pagina_corrente= cdbl(Request.QueryString("pag")) - 1
End Select
adOpenKeyset = 1
v_record_pagina = 4 'Numero di record da visualizzare su ogni pagina
' query di ricerca
strsql = "SELECT * FROM news_t_newsdetails WHERE active='Y' ORDER BY newsdate DESC"
Set conn = Server.CreateObject("ADODB.Connection")
Set rst = Server.CreateObject("ADODB.Recordset")
conn.open PortalConnectString
criterio = strsql
rst.Open criterio, conn, adOpenKeyset
'Se la query ritorna dati, visualizzo la pagina
If Not (rst.bof and rst.eof) then
rst.PageSize = cint(v_record_pagina)
rst.AbsolutePage = Cdbl(v_pagina_corrente)
'Ciclo sui record della pagina
For x = 1 To rst.PageSize
'Esco alla fine della pagina, se è l'ultima e contiene meno record delle altre
If rst.Eof then exit for
id = (rst.Fields.Item("ID").Value)
titolo = (rst.Fields.Item("title").Value)
data = (rst.Fields.Item("newsdate").Value)
%>
<table width="500" cellpadding="2" cellspacing="2" border="0" align="center">
<tr>
<td width="25%" align="right"><%=data%></td>
<td width="75%"><a href="NewsDetails.asp?ID=<%=id%>"><%=titolo%></a></td>
</tr>
</table>
<%
rst.MoveNext
Next
' barra di navigazione
%>
<p align="center">
<strong>Pagina <%=v_pagina_corrente%> di <%=rst.PageCount%></strong><br /><br />
<%
'Qui semplicemente creo la barra di navigazione.
If rst.EOF and rst.BOF then
%>
<font color='#C0C0C0' size='2' face='Verdana'>Inizio</font>
<font color='#C0C0C0' size='2' face='Verdana'>Indietro></font>
<font color='#C0C0C0' size='2' face='Verdana'>>Avanti</font>
<font color='#C0C0C0' size='2' face='Verdana'>Fine</font>
<%
Else
If Cdbl(v_pagina_corrente) > 1 Then
%>
<a href="default.asp"><font size="2" face='Verdana'>Inizio</font></a>
<a href="default.asp?dir=prev&pag=<%=v_pagina_corrente%>"><font size="2" face='Verdana'>Indietro</font></a>
<%
Else
%>
<font color='#C0C0C0' size='2' face='Verdana'>Inizio</font>
<font color='#C0C0C0' size='2' face='Verdana'>Indietro</font>
<%
End If
If Cdbl(v_pagina_corrente) < rst.PageCount Then
%>
<a href='default.asp?dir=next&pag=<%= v_pagina_corrente %>'><font size='2' face='Verdana'>Avanti</font></a>
<a href='default.asp?dir=next&pag=<%= rst.pagecount - 1 %>'><font size='2' face='Verdana'>Fine</font></a>
<%
Else
%>
<font color='#C0C0C0' size='2' face='Verdana'>Avanti</font>
<font color='#C0C0C0' size='2' face='Verdana'>Fine</font>
<%
End If
End If
%>
</p>
<%
' End If
' fine barra di navigazione
Else
'La query non ritorna dati
%>
<table width="720" cellpadding="1" cellspacing="1" border="0" align="center">
<tr>
<td valign="top"><p><strong>Nessuna record in archivio.</strong></p></td>
</tr>
</table>
<%
End If
' ====================================================
rst.Close
conn.Close
Set rst = nothing
Set conn = nothing
%>