Newsgroup: it.comp.www.asp
Titolo: tabella caricata a pagine

vorrei implementare una pagina che mostra una tabella estraendo i record da
visualizzare da una file mostrando solo un certo numero di record x volta
consentendo poi la navigazione fra le varie pagine per mezzo di bottoni tipo
'<<' '<' '>' '>>' non è che per caso qualcuno ha un esempio di codice da
postare?
io sono nuovo a questo linguaggio e mi trovo decisamente in difficolta...
grazie
--
Bernardi Gian Claudio
----------------------------------

...



Visto che anche io qualche giorno fa mi sono trovato di fronte a una situazione
simile ho deciso di condividere i miei risultati con altri newbie (credo che sia
anche il tuo caso) postando il codice che ho utilizzato in una mia pagina. Visto
che funziona tutto correttamente potresti prenderlo come esempio.
Se invece qualcuno avesse delle osservazioni da fare a riguardo, bè, sono
naturalmente ben accette :-)
<!--#include file="adovbs.inc"-->
<%
Dim connSearch
Dim rsSearch
Dim cerca
Dim SQL
'Se viene cliccato il tasto nuova ricerca torno alla pagina "soluzioni"
If Request("NewSearch") = "Nuova Ricerca" Then
 Response.Redirect("soluzioni.asp")
 Response.End
End If
Set connSearch = Server.CreateObject("ADODB.Connection")
connSearch.Open "DSN=soluzioni"
Set rsSearch = Server.CreateObject("ADODB.Recordset")
'Leggo la parola da cercare dal form
cerca = Request.Form("StringaDaCercare")
'Creo la stringa SQL
SQL = "SELECT * FROM tabSoluzioni WHERE Titolo LIKE '%"& cerca &"%'"
SQL = SQL & "ORDER by Titolo ASC;"
rsSearch.Open SQL, connSearch, adOpenKeyset, adLockReadOnly
'Non ci sono parole corrispondenti
If rsSearch.EOF Then
 Response.Write vbTab & "<tr>" & vbCrLf
 Response.Write vbTab & vbTab & "<td>"
 Response.Write FONT1
 Response.Write "<font color=""Red""><b>"
 Response.Write "Nessuna soluzione trovata"
 Response.Write "</b></font></font>"
 Response.Write "</td>" & vbCrLf
 Response.Write vbTab & "</tr>" & vbCrLf
 rsSearch.Close
 Set rsSearch = Nothing
 connSearch.Close
 Set connSearch = Nothing
 Response.End
End If
'Definisco il numero di records per pagina
rsSearch.PageSize = 10
'Controllo su che pagina siamo
Scroll = Request("Scroll")
If Scroll <> "" Then
 Pagina = mid(Scroll, 7)
 If Pagina < 1 Then Pagina = 1
Else
 Pagina = 1
End If
rsSearch.AbsolutePage = Pagina
'Numero totale pagine
Dim TotalPages
TotalPages = rsSearch.PageCount
%>
<table cellpadding="0" cellspacing="2" border="0">
<tr>
 <td colspan="2">
 <%
 'Scrivo il numero della pagina corrente (es. Pagina 1 di 3)
    Response.Write FONT1
 Response.Write("Pagina " & Pagina & " di " & TotalPages)
 %>
 </td>
</tr>
<tr>
 <td width="400" align="center" bgcolor="#C5C5E2">
 <% Response.Write FONT1 %><b>Titolo</b></font></td>
 <td width="150" align="center" bgcolor="#C5C5E2">
 <% Response.Write FONT1 %><b>Lingua</b></font></td>
</tr>
<%
Dim RowCount
RowCount = rsSearch.Pagesize
Dim titolo
Dim lingua
Dim cat
Dim id
'Visualizzo i risultati con relativo link
Do While Not rsSearch.EOF And RowCount > 0
 titolo = rsSearch("Titolo")
 lingua = rsSearch("Lingua")
 cat = rsSearch("Categoria")
 id = rsSearch("Doc_ID")
 Response.Write vbTab & "<tr>" & vbCrLf
 Response.Write vbTab & vbTab & "<td>"
 Response.Write FONT1
 Response.Write "<b>"
 Response.Write "<a href=testo_soluz.asp?cat="&cat&"&ID="&id1&">"
 Response.Write titolo
 Response.Write "</a></font></b>"
 Response.Write "</td>" & vbCrLf
 Response.Write vbTab & vbTab & "<td>"
 Response.Write FONT1
 Response.Write lingua
 Response.Write "</a></font></td>" & vbCrLf
 Response.Write vbTab & "</tr>" & vbCrLf
 RowCount = RowCount - 1
 rsSearch.MoveNext
Loop
rsSearch.Close
Set rsSearch = Nothing
ConnSearch.Close
Set ConnSearch = Nothing
'Visualizzo i pulsanti
 Response.Write vbTab & "<tr>" & vbCrLf
 Response.Write vbTab & vbTab & "<td colspan=""2"" align=""center"">"
 Response.Write "<br>"
%>
<form method="post" action="search.asp">
<input type="submit" name="NewSearch" value="Nuova Ricerca">
<input type="hidden" name="StringaDaCercare" value="<%=
Request("StringaDaCercare") %>">
<% If Pagina > 1 Then %>
 <input type="submit" name="Scroll" value="<%= "Pagina " & Pagina - 1 %>">
<% End If %>
<% If RowCount = 0 Then %>
 <input type="submit" name="Scroll" value="<%= "Pagina " & Pagina + 1 %>">
<%
End If
 Response.Write "</form>"
 Response.Write vbTab & vbTab & "</td>" & vbCrLf
 Response.Write vbTab & "</tr>" & vbCrLf
 Response.Write "</table>"
%>

 SQL = SQL & "ORDER by Titolo ASC;"
--
Ciao, Fabio Zed Zamparelli

 cerca = Replace(cerca,"'","''")
Grazie Fabio per il suggerimento
Omar