| Code Title: Paging (modifiable) Description: Add paging to your record retrieval. But, do it with the good'ol form field that allows you to just type in directly what page ya wanna go to. This one is our fave! It even alternates the background color (bgcolor) of each row, to make viewing the recordset even easier.. We use different tweaked versions of this one all over our site! See an example of this code snippet on our International page. We have made it so that it will display a hyperlinked first item in one column, then a truncated description using the Left() function in the next column. The hyperlink will take you to the specific article or record, (whatever you're using it for). We use a javascript valid number checker on this one, just to make sure the person doesn't enter any weird characters into the page number field of the form. We don't normally do this, but if ya want the javascript for number checking, check out our jsNumberValidator. Copy and paste this snippet as-is into your editor: <% Const adUseClient = 3 Const adOpenStatic = 3 specific = Request.QueryString("specific") If specific = "" Then Set rs = Server.CreateObject("ADODB.RecordSet") rs.CursorLocation = adUseClient rs.CacheSize = 5 mypage = Request.Form("pgNum") If mypage = "" Then mypage = 1 rs.Open "SELECT * FROM TABLE ORDER BY FIELD ASC", cnDZ, adOpenStatic If Not rs.EOF Then rs.MoveFirst rs.PageSize = 20 'change this number to exactly how many records per page ya wanna show maxcount = cint(rs.PageCount) rs.AbsolutePage = mypage howmanyrecs = 0 Response.Write"<table border=0>" LinkCount = 0 While Not rs.EOF And howmanyrecs < rs.pagesize If LinkCount Mod 2 = 0 Then bgColor = " bgcolor=#F0F0F0" Else bgColor = "" Response.Write"<tr"&bgColor&"><td nowrap>"&_ "<a href=""myPage.asp?specific="&rs("ID")&""">"&rs("FIELD")&"</a></td>"&_ "<td width=""100%"" nowrap>"&Left(rs("FIELD2"),40)&"</td></tr>" LinkCount = LinkCount + 1 rs.MoveNext howmanyrecs = howmanyrecs + 1 Wend Response.Write"</table>" If maxcount > 1 Then If mypage + 1 > maxcount Then nextPg = 1 Else nextPg = mypage + 1 Response.Write"<form method=post action=""myPage.asp"">"&_ "<nobr>Page "&mypage&" of "&maxcount&" Navigate to Page:<input type=text name=pgNum size=3 maxlength=3 value="""&nextPg&"""> <input type=submit name=gopgNum value=GO></nobr></form>" End If Else Response.Write"Sorry, nothing is available at the moment." End If rs.Close Set rs = Nothing Else Set rs = cnDZ.Execute("SELECT * FROM TABLE WHERE ID = "&specific&"") Do Until rs.EOF Response.Write""&rs("FIELD")&"<br>"&_ ""&rs("FIELD2")&"<br>" rs.MoveNext Loop rs.Close Set rs = Nothing End If %> |
