Denna fråga har diskuterats åtskilliga gånger här i forumet. Sök på paging eller liknande så hittar du nog vad du söker efter.
------------------
~~~~~~~~~~~~~~~~~~~~
Silvio Fumei
silvio@fumei.net
www.fumei.net
~~~~~~~~~~~~~~~~~~~~
5 svar · 351 visningar · startad av CrYpToNiC
Hejsan!
Jag har en gästbok som börjar blir väldigt trög att ladda när man ska läsa den. Borde det inte gå att dela upp den på kanske 20 inlägg per sida?
Gästboken ligger i en MS Access databas och koden för att läsa gästboken ser ut så här:
<html>
<head>
<!--#Include file="adovbs.inc" -->
<title>LANHost: Läs Gästbok</title>
<!--#include file="shell-top.txt" -->
<%
Set Connect = Server.CreateObject("ADODB.Connection")
dbPath = Server.MapPath("database/gbook.mdb")
dbPass = ""
Connect.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & dbPath & ";uid=;pwd=" & dbPass & ";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "Select Count(ID) AS antalPoster From gbook"
Set rs = connect.execute(SQL)%>
<p><span class="topic">Läs Gästboken</span></p>
<p> <%=rs("antalPoster")%> st har skrivit i gästboken.</p>
<p>
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<%visa = "SELECT * FROM gbook ORDER BY id DESC"
RecSet.open visa, Connect, adOpenStatic, adLockOptimistic
Do Until RecSet.EOF%>
<tr bgcolor="#2C2C2C">
<td><font color="#FFFFFF"><b>Namn:</b></font> <%response.write server.htmlencode(recSet("namn"))%></td>
<td><font color="#FFFFFF"><b>Tid:</b></font> <%=recSet("tid")%></td>
</tr>
<tr bgcolor="#2C2C2C">
<td><font color="#FFFFFF"><b>ICQ#:</b></font> <%response.write server.htmlencode(recSet("icq"))%></td>
<td><font color="#FFFFFF"><b>IP:</b></font> <%=recSet("ip")%></td>
</tr>
<tr>
<td colspan="2" bgcolor="#484848" height="16">
<p><font color="#FFFFFF"><b>Meddelande:</b></font></p>
<p>
<%
text = recSet("msg")
Set objRe = New regExp
objRe.IgnoreCase = True
objRe.Global = True
If text <> "" Then
objRe.Pattern = "<[^>]*>"
text = objRe.Replace(text," ")
End if
text = replace(text, vbCrLf, "<br>")
response.write text%></p>
</td>
</tr>
<tr>
<td colspan="2" bgcolor="#484848" height="1"><img src="bilder/pixel.gif" height="1" width="100%"></td>
</tr>
<tr>
<td colspan="2" bgcolor="#484848" height="32">
<p>Hemsida: <a href="<%response.write server.htmlencode(recSet("hemsida"))%>" target="_blank"><%response.write server.htmlencode(recSet("hemsida"))%></a><br>
Email: <a href="mailto:<%response.write server.htmlencode(recSet("email"))%>"><%response.write server.htmlencode(recSet("email"))%></a></p>
</td>
</tr>
<tr>
<td height="20"> </td>
</tr>
<%
RecSet.MoveNext
Loop
RecSet.Close
Connect.close
%>
</table>
<!--#include file="shell-bottom.txt" -->
Någon som kan modifiera denna kod så den delas upp i flera sidor, alltså 20 inlägg per sida?
------------------
/CrYpToNiC
Denna fråga har diskuterats åtskilliga gånger här i forumet. Sök på paging eller liknande så hittar du nog vad du söker efter.
------------------
~~~~~~~~~~~~~~~~~~~~
Silvio Fumei
silvio@fumei.net
www.fumei.net
~~~~~~~~~~~~~~~~~~~~
Här har du en artikel som går igenom hur du ska gå till väga:
http://cgi.webforum.nu/wf/arkiv/asp_faq.html#paging
------------------
// Palleman
www.wiicom.nu/palle
Joo, jag har sett detta, men jag fattar inte. Det står ju inte vad raderna gör. Dessutom är den koden till nån sökmotor som delar upp sidor...
Någon som vill förklara lite vad dom olika raderna gör?
------------------
/CrYpToNiC
iSida = Request.Querystring("Sida")
If Not IsNummeric(iSida) Then
iSida = 1
End If
If Not iSida = 1 And Not Rs.Eof Then
Rs.Move((20*iSida-19))
End if
iCount = 0
Do Until Rs.Eof Or iCount >= 20
iCount = iCount +1
'Kod.......
Rs.MoveNext
Loop
If Not Rs.Eof Then
Response.Write "<A href='Fil.asp?Sida" & iSida+1 & '>Nästa sida</A>"
Tror att det skall fungera... kan vara något småfel..
men som sagt det finns i forumet
------------------
"Brott kanske inte lönar sig, men det är kul"