följande kod används ju för att visa de 10 senaste posterna i en databas Du kan skapa en sk paging på flera olika sätt beroende på hur du skapar recordsetet. typ såhär gör ja, recorset har ja inte en aaaning om, men du kanske hajar..? =) hello,10 / sida
select top 10 * from tabell order by datum desc
frågan e då, hur gör man för att ta fram nästa 10 inlägg och visa på samma sida (de gamla ska då försvinna)?
alltså, d ska bara va 10 inlägg / sida, sen ska d va länkar till de andra sidorna, och vid klick ska man få de inläggen...
sämst på att förklara, men ja tror ni hajar va ja menar, eftersom detta inte är alltför ovanligt på nätet, pelle har d själv i forumet såg ja...
ha´re..!Sv: 10 / sida
Hur skapar du ditt recordset?
cya,
PatrikBSv: 10 / sida
<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open ("driver={Microsoft Access Driver (*.mdb)}; dbq=" & Server.MapPath("\user\db.mdb"))
Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * From Inlagg ORDER BY Date desc"
rs.Open SQL, Connection
%>
<html>
<head>
<title>sida 1</title>
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body>
<%
Do While Not rs.EOF
%>
<table>
<tr>
<td align="left">
<b>name</b><br>
<%=rs("Namn")%></a><br><br>
</td>
</tr>
<%
rs.MoveNext
Loop
%>
</table>
</body>
</html>Sv: 10 / sida
här har du lite kod att leka med =o)
[pre]
<%
'## -- vilken sida är det som visas --
strScriptName = Request.ServerVariables("SCRIPT_NAME")
'## -- vilken sida ska visas --
intPage = Request.QueryString("page")
If intPage = "" Then intPage = 1
'## -- ändra till så många poster du vill ha visade per sida --
intPageSize = 15
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open ("driver={Microsoft Access Driver (*.mdb)}; dbq=" & Server.MapPath("\user\db.mdb"))
Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * From Inlagg ORDER BY Date desc"
'## -- cacha upp i ram minnet --
rs.CacheSize = intPageSize
'## -- hur många poster som ska visas per sida --
rs.PageSize = intPageSize
'## -- öppna recordsetet --
rs.Open SQL, Connection, 3, 1
'================================================================================
'## -- funktioner och subbar för pagenavigation --
'================================================================================
'## -- skriver ut sidnavigeringen --
'## -- skriv ut föregående sida --
Sub PrevPage(ByVal WichPage)
Dim strScriptName
strScriptName = Request.ServerVariables("SCRIPT_NAME")
'## -- skriv ut en länk till föregående sida --
If CInt(WichPage) > 1 Then
Response.Write "<< Föregående "
Else
Response.Write "<< Föregående "
End If
End Sub
'## -- skriv ut nästa sida --
Sub NextPage(ByVal HowManyPages, ByVal WichPage)
Dim strScriptName
strScriptName = Request.ServerVariables("SCRIPT_NAME")
'## -- skriv ut en länk till nästa sida --
If CInt(WichPage) < CInt(HowManyPages) Then
Response.Write "Nästa >>"
Else
Response.Write " Nästa >>"
End If
End Sub
'## -- skriv ut sidnummer navigeringen --
Sub PageNumbers(ByVal HowManyPages, WichPage)
Dim strScriptName
Dim I
'## -- kolla om det finns några sidor --
If HowManyPages = 0 Then
Response.Write " 0"
Exit Sub
End If
strScriptName = Request.ServerVariables("SCRIPT_NAME")
'## -- skriv ut länkar till sid nummer n.
'## Den sida som visas ska ej vara länkad --
For I = 1 To HowManyPages
If CInt(I) <> CInt(WichPage) Then
Response.Write "" & I & " "
Else
Response.Write "<B>" & I & "</B> "
End If
Next
End Sub
'=====================================================================================
'## -- slut på subbar och funktioner för pagenavigation
'=====================================================================================
%>
<html>
<head>
<title>sida 1</title>
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body>
<%
If rs.EOFThen
'## -- inga poster hittades --
Response.Write "Inga poster hittades."
Else
'## -- poster hittades --
'## -- vilken sida ska visas --
rs.AbsolutePage = intPage
'## -- hur många poster finns det totalt --
intTotalRecords = rs.RecordCount
'## -- hur många sidor finns det totalt --
intTotalPages = rs.PageCount
Response.Write "<P>Nu visas sida <B>" & intPage & "</B> av " & intTotalPages & "</P>"
Do Until rs.EOF
%>
<table>
<tr>
<td align="left">
name<br>
<%=rs("Namn")%></a><br><br>
</td>
</tr>
<%
rs.MoveNext
Loop
End If
rs.Close
Set rs = nothing
Connection.Close
Set Connection = Nothing
%>
</table>
<%
'## -- föregående sida --
Call prevPage(intPage)
'## -- skriv ut sidnummrena --
Response.Write " "
Call pageNumbers(intTotalPages,intPage)
'## -- nästa sida --
Response.Write " "
Call nextPage(intTotalPages, intPage)
%>
</body>
</html>
[/pre]
cya,
PatrikB