Det du leder efter, kaldes Recordset paging og du kan se et eksempel herunder:
<%@ LANGUAGE=\"VBSCRIPT\" %> <% \' Listing 17.1 Paging through a Recordset Part 1: Declaration Option Explicit Response.Expires = 0 %> <!--#include file=\"adovbs.inc\"--> <% Const intPageSize = 10 Dim intCurrentPage, objConn, objRS, strQ Dim intTotalPages, intI
\' Listing 17.2 Paging Part 2: Setting the Current Page Number If Request.ServerVariables(\"CONTENT_LENGTH\") = 0 Then intCurrentPage = 1 Else intCurrentPage = CInt(Request.Form(\"CurrentPage\")) Select Case Request.Form(\"Submit\") Case \"Previous\" intCurrentPage = intCurrentPage - 1 Case \"Next\" intCurrentPage = intCurrentPage + 1 End Select End If
\' Listing 17.3[em]Paging[md]Part 3: Preparing the Recordset for Paging Set objConn = Server.CreateObject(\"ADODB.Connection\") objConn.Open \"Data Source=Northwind;User ID=sa;Password=;\"
\' Listing 17.5 Paging Part 5: Setting the Recordset cursor objRS.PageSize = intPageSize If Not(objRS.EOF) Then objRS.AbsolutePage = intCurrentPage
\' Listing 17.6 Paging Part 6: Sending Database Data intTotalPages = objRS.PageCount %> <HTML><BODY> <B>Customer: OrderDate</B><P> <% For intI = 1 to objRS.PageSize Response.Write Server.HTMLEncode(objRS(\"CompanyName\") & \":\" & objRS(\"OrderDate\")) & \"<BR>\" objRS.MoveNext If objRS.EOF Then Exit For Next
objRS.Close : objConn.Close Set objRS = Nothing : Set objConn = Nothing %>
<BR> Page <%= intCurrentPage %> of <%= intTotalPages %><P>
<% \' Listing 17.7 Paging Part 7: Providing Web Form for Paging %> <FORM ACTION=\"<%= Request.ServerVariables(\"SCRIPT_NAME\") %>\" METHOD=\"POST\"> <INPUT TYPE=\"Hidden\" NAME=\"CurrentPage\" VALUE=\"<%= intCurrentPage%>\"> <% If intCurrentPage > 1 Then %> <INPUT TYPE=\"Submit\" NAME=\"Submit\" VALUE=\"Previous\"> <% End If If intCurrentPage <> intTotalPages Then %> <INPUT TYPE=\"Submit\" NAME=\"Submit\" VALUE=\"Next\"> <% End If %> </FORM> </BODY></HTML>
Nu har jeg prøvet keysersoze\'s forslag, men kan ikke helt få det til at køre... Den søger rigtig nok... Problemet kommer når jeg trykker på \"Næste side\"
Hvad gør jeg galt??
<% Response.Buffer = True %> <html><head> <title>Paging af et recordset</title> </head><body>
<% intPage = Request(\"side\") If isNumeric(intPage) = False Or intPage < 1 Then intPage = 1 End If
strKeyword = Trim(Request.Form(\"keyword\"))
If Len(strKeyword) = 0 Then \' Hvis der ikke er skrevet i feltet Response.Clear Response.Redirect(\"soeg.htm\") Else \' Hvis der er skrevet i feltet strKeyword = Replace(strKeyword,\"\'\",\"\'\'\") End If
Set rs = Server.CreateObject(\"ADODB.RecordSet\") strSQL = \"SELECT LinkID, Navn, Beskrivelse FROM Links WHERE\" strSQL = strSQL & \" (LinkID LIKE \'%\" & strKeyword & \"%\')\" strSQL = strSQL & \" OR (Navn LIKE \'%\" & strKeyword & \"%\')\" strSQL = strSQL & \" OR (Beskrivelse LIKE \'%\" & strKeyword & \"%\')\" strDSN = \"DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\"&Server.MapPath(\"links.mdb\") rs.Open strSQL, strDSN, 1 If Not (rs.BOF Or rs.EOF) Then rs.PageSize = 10 rs.AbsolutePage = intPage intRecCount = rs.PageSize intPageCount = rs.PageCount Response.Write \"<p><b>Side \" & intPage & \" af \" & intPageCount & \"</b></p>\" Do While Not rs.EOF And intRecCount > 0 Response.Write rs(\"LinkID\") & \"<br>\" intRecCount = intRecCount - 1 rs.MoveNext Loop End If rs.Close Set rs = Nothing
Response.Write \"<p>Gå til side \" For intNum = 1 To intPageCount Response.Write \"<a href=soeg.asp?side=\" & intNum & \">\" & intNum & \"</a> \" Next
Response.Write \"<p>\" If Clng(intPage) > 1 Then Response.Write \"<a href=soeg.asp?side=\" & intPage - 1 & \"><<</a>\" Else Response.Write \"<<\" End If
Response.Write \" \"
If Clng(intPage) < Clng(intPageCount) Then Response.Write \"<a href=soeg.asp?side=\" & intPage + 1 & \">>></a> \" Else Response.Write \">>\" End If %>
korrekt, jeg havde lige glemt ?side, derfor skal det selvfølgelig være &keyword :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.