webForumDet fria alternativet

Patrik eller någon annan, hjälp mig!

ASP

2 svar · 208 visningar · startad av iceM2

Medlem sedan mars 2001243 inlägg
Frågan#1

Använder mig av en av alla versioner av pagingscript som Patrik här på WF har gjort. Scriptet fungerar nästan finfint, jag får inget felmeddelande eller så problemet är bara navigeringen mellan posterna.

Först listas 2 poster och när jag klickar på nästa kommer det upp en ny sida med två nya poster. Här kommer problemet det kommer nu bara upp en länk för att gå tillbaka till sida 1... Det finns ingen länk för nästa dvs gå till sida 3 trots att det finns flöer poster i databasen...

Någon som har lust att kolla min kod och se vad som e fel? Er hjälp uppskattas fruktansvärt mycket!

<% Response.Write _
"<img src=""gif/pil_red.gif""> " & vbCRLF &_
"<a href=""" & strFileName & "?action=write"" class=""darkredlink"">Skriv i gästboken</a><BR><BR>" & vbCRLF &_
"Här nedan kan du läsa bland de inlägg som har gjorts i Barnträdgårds gästbok." & vbCRLF &_
"Om du vill skriva in dig i vår gästbok så kan klicka på länken <I>skriv i gästboken</i> ovan." & vbCRLF &_
"<BR><BR><img src=gif/linje_red.gif height=3 width=400><BR><BR>" & vbCRLF

Dim intPage, intPageSize, N, varArray

intPage = Request.QueryString("page")
If Len(intPage) = 0 Then intPage = 1
intPageSize = 2

strSQL = "SELECT Datum, Namn, Email, OrtStad, Kommentar, IPnummer FROM Gastbok " &_
" ORDER BY ID DESC"
dbConnect dbUrl, Connection
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.PageSize = intPageSize
objRS.Open strSQL, Connection, 1, 3

If Not objRS.EOF Then
objRS.AbsolutePage = intPage
varArray = objRS.GetRows(intPageSize)
End If

objRS.Close
Set objRS = Nothing
Connection.Close
Set Connection = Nothing

If IsArray(varArray) Then
Dim strNamn, strEmail, strOrtStad, strKommentar, strDatum, strIPnummer
For N = 0 TO UBound(varArray,2)
strDatum = varArray(0,N)
strNamn = varArray(1,N)
strEmail = varArray(2,N)
strOrtStad = varArray(3,N)
strKommentar = varArray(4,N)
strKommentar = Replace(strKommentar, vbCRLF, "<BR>")
strIPnummer = varArray(5,N)

Response.Write _
"<table width=""400"" border=""0"" cellspacing=""0"" cellpadding=""0"">" & vbCRLF &_
"<tr>" & vbCRLF &_
"<td align=""left"" valign=""top"" width=""60%"">" & vbCRLF &_
"<B><A href=""mailto:" & strEmail & """ class=""blacklink"">" & strNamn & "</A></B><BR>" & vbCRLF &_
"Ort/Stad: " & strOrtStad & vbCRLF &_
"</td>" & vbCRLF &_
"<td align=""right"" valign=""top"" width=""40%"">" & vbCRLF &_
strDatum & "<BR>" & vbCRLF &_
"<FONT COLOR=""#333333"">IP: " & strIPnummer & "</FONT>" & vbCRLF &_
"</td>" & vbCRLF &_
"</tr>" & vbCRLF &_
"</table><BR>" & vbCRLF &_
strKommentar & vbCRLF &_
"<BR><BR><img src=""gif/linje_red.gif"" height=""3"" width=""400""><BR><BR>" & vbCRLF & vbCRLF
Next
End If

If CLng(intPage) > 1 Then
Response.Write " <a href=""" & Request.ServerVariables("SCRIPT_NAME") & "?page=" & intPage - 1 & """>Föregående</A> "
End If

If CLng(intPage) < CLng(UBound(varArray,2)+1) Then
Response.Write " <a href=""" & Request.ServerVariables("SCRIPT_NAME") & "?page=" & intPage + 1 & """>Nästa</A> "
End if %>

Patriks orginalkod finns här: http://cgi.webforum.nu/wf/Forum11/HTML/007601.html

------------------
"Ni tre går och bildar en kvadrat" (Rolf Zetterlund under ett träningspass)

[Redigerat av iceM2 den 03 dec 2001]

Medlem sedan mars 20002 836 inlägg
#2
If CLng(intPage) < CLng(UBound(varArray,2)+1) Then
Response.Write " <a href=""" & Request.ServerVariables("SCRIPT_NAME") & "?page=" & intPage + 1 & """>Nästa</A> "
End if %>

Skrev allt otestat rätt ur huvudet ;) ....

När du öppnat recordsetet så kan du kolla hur mågna sidor som recordsetet består av med metoden PageCount.

objRS.Open strSQL, Connection, 1, 3
'## -- antal sidor i recordsetet --
intTotalPages = objRS.PageCount

Ändra nu koden för länken till nästa sida så att den ser ut så här:

If CLng(intPage) < CLng(intTotalPages) Then
Response.Write " <a href=""" & Request.ServerVariables("SCRIPT_NAME") & "?page=" & intPage + 1 & """>Nästa</A> "
End if %>

borde göra susen ... men som sagt, fortfarande otestat ... sitter uppe i STHLM på en LN Kurs på membran ....

cya,
PatrikB

------------------
'## -- second place is the first looser -- ##'

Medlem sedan mars 2001243 inlägg
#3

Tackar Patrik, skall testa att komplettera min kod med detta... Har dock inte testat ännu men jag återkommer om du skulle uppstå ngt problem..

------------------
"Ni tre går och bildar en kvadrat" (Rolf Zetterlund under ett träningspass)

280 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
143 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
136 ms — ändringar (db)