Suddivisione di dati da DB in più pagine

metalgemini

Utente Attivo
14 Apr 2004
745
0
0
Ciao a tutti ho un problemino di paginazione, non x quanto riguarda l'HTML ma x quanto riguarda la divisione dei dati in più pagine. Decido di visualizzare 5 records x pagina ma, una volta creato il link alle pagine seguenti, mi dice che non ci sono dati nel database mentre sono sicuro che dovrebbe tirare fuori la seconda parte di dati...ecco il codice, molto scarno, ma è solo la parte incriminata poi lo miglioro:
<%
'Imposto la connessione al DB
Dim TuttiArticoli
Set TuttiArticoli = Server.CreateObject("ADODB.Connection")
TuttiArticoli.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/mdb-database/giornalino.mdb")

'recupero tutti gli articoli
Dim TuttiArt, SqlArt
Set TuttiArt = Server.CreateObject("ADODB.Recordset")
SqlArt = "SELECT * FROM articoli ORDER BY id DESC"
TuttiArt.Open SqlArt, TuttiArticoli, 1, 3
Dim RecPerPag, page
RecPerPag = 5
page = request.querystring("page")
If page = "" then
page = 1
end if
TuttiArt.AbsolutePage = page
TuttiArt.PageSize = RecPerPag
If TuttiArt.Eof then
Response.Write "Nessun articolo all'interno del database."
Else
For i = 1 to RecPerPag
if Not TuttiArt.Eof then
response.write TuttiArt("titolo_articolo") & "<br>"
End If
TuttiArt.MoveNext
Next
end if
'genero il menù di navigazione delle pagine
response.write"<br>Pagine: "
For pag = 1 to TuttiArt.PageCount
%>
<a href="?what=17&title=Tutti gli articoli&page=<%=pag%>"><%=pag%></a>
<%
Next
%>
In questo caso mi vengono 2 pagine visto che ho 7 articoli nel database.Ma quando clicco x accedere alla seconda pagina mi dice che non ci sono articoli...chi mi illumina la via?

P.s.: Avevo postato in coda ad un altro Trhead per non aprirne uno simile, ma non vedendo risposte ho pensato di riaprirne uno nuovo pensando che magari non tutti lo potevano vedere.:)
 
lukeonweb ha scritto:
perchè usi il for???
Non lo so...ho preso riferimento da uno script che avevo trovato in rete...solo ke quello ke vorrei fare adesso è un po' diverso...come dovrei fare secondo te?
 
lukeonweb ha scritto:
dico di seguire il mio tutorial, almeno so per certo che funziona :)
Ho provato a seguire il tuo ma quando clicco x visualizzare la seconda pagina mi da schermo bianco...non capisco faccio come fai tu nel tutorial:
Dim TuttiArt, SqlArt
Set TuttiArt = Server.CreateObject("ADODB.Recordset")
SqlArt = "SELECT * FROM articoli ORDER BY id DESC"
TuttiArt.Open SqlArt, TuttiArticoli, 1, 3
Dim RecPerPag, page
RecPerPag = 5
page = request.querystring("page")
If page = "" then
page = 1
end if
TuttiArt.AbsolutePage = page
TuttiArt.PageSize = RecPerPag
contatore = 0
while TuttiArt.Eof = False and contatore < RecPerPag
%>
<%=TuttiArt("titolo_articolo")%><br>
<%
TuttiArt.MoveNext
contatore = contatore + 1
Wend
response.write"<br>Pagine: "
For pag = 1 to TuttiArt.PageCount
%>
<a href="?what=17&title=Tutti gli articoli&page=<%=pag%>"><%=pag%></a>
<%
Next
%>
:confused:
 
Ho copiato pari pari il tutorial cambiando i vari valori relativi ai campi del DB e funge alla perfezione...però rimango con la curiosità di papere dove sbagliavo...ah a proposito...nel tutorial chiudi connessione e recordset prima e infondo il menù di navigazione da un errore...l'allievo che supera il maestro:D
 
lukeonweb ha scritto:
prendi il codice pari pari e crea il database secondo le specifiche e soprattutto aggiungi alla tabella di prova abbastanza record per due o tre pagine

Ma ho risolto grazie...solo non capivo xkè il mio code non fungeva che praticamente era quasi uguale al tuo:)
 

Discussioni simili