|
Hi,
I've a combo box which allows the users to select the category using <select> tag. Depending on the category, I want to list specified number of records in a page. Here's the code.....
<% @ LANGUAGE="VBScript" %>
<%
Option Explicit Response.Buffer = True
Const adOpenForwardOnly = 0 Const adLockReadOnly = 1 Const adUseClient = 3 Const adCmdText = 1
' Variables for connection object, recordset, connection string, query string Dim conn, rs, connString, qString,reno,cc
' Open the database connection connstring = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &
Server.MapPath("database\trc.mdb") Set conn = Server.CreateObject("ADODB.Connection") conn.Open connString%>
<HTML> <HEAD> <TITLE> Database paging </TITLE> </HEAD> <BODY> <form name=ss method=post action="category.asp"> <select name=cat onChange="MM_jumpMenu('parent',this,0)"> <option selected>choose category</option> <option value="category.asp?cat=technical">Technical</option> <option value="category.asp?cat=admin">Admin</option> <option value="category.asp?cat=scientific">Scientific</option> </select> </form> <script> function MM_jumpMenu(targ,selObj,restore){ file://v3.0 - file://v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); if (restore) selObj.selectedIndex=0; } </script> <%session("checked")="true"%>
<% if session("checked")="true" then cc=request.querystring("cat") session("cat")=cc
Dim mypage, numpages, numrecs, pagesize
' Get the page number we need to display from Form or QueryString mypage = CInt( Request("page") ) If mypage=0 Then mypage=1
' Get the requested number of records per page pagesize = CInt( Request("recs") ) If pagesize = 0 Then pagesize = 2 ' If we aren't given a value use 10
' The code we need to set up a recordset object for paging Set rs = Server.CreateObject("ADODB.RecordSet") rs.PageSize = pagesize rs.CacheSize = pagesize ' This is optional rs.CursorLocation = adUseClient ' Open the recordset qString = "SELECT * FROM staff where staffcategory='" & session("cat") & "'"
rs.Open qString, conn, adOpenForwardOnly, adLockReadOnly, adCmdText
' Get the number of pages and records numpages = rs.PageCount numrecs = rs.RecordCount
' Just in case we have a bad request If mypage > numpages Then mypage = numpages If mypage < 1 Then mypage = 1
' Set the page we want to display rs.AbsolutePage = mypage
' Write out the total number of records in the recordset Response.Write("<P> <B>" & numrecs & " records found.</B>" ) ' Write out the current page number and total number of pages Response.Write("<BR> Page " & mypage & " of " & numpages & "</P>")
Response.Write("<CENTER>")
' Write out the records contained in this page Dim i response.write("<table cellpadding=4 cellspacing=4 border=3>") For i=1 To pagesize If NOT rs.EOF Then Response.Write("<tr><td>")%> <a href="22.asp?option=<%=rs("CODE")%>"> <% response.write(rs("code")) response.write("</a></td><td>"+rs("desig")+"</td></tr>") rs.MoveNext End If Next
Response.write("</table>") Response.Write("<P>")
' Write out the page links Dim x, lb, ub For x=1 To numpages lb = (x-1) * pagesize + 1 ub = x * pagesize If ub > numrecs Then ub = numrecs If x <> mypage Then Response.Write("<A HREF=category.asp?cat=cc&page=" & x & "&recs=" & pagesize & ">" & lb &
"-" & ub & "</A>") Else Response.Write(lb & "-" & ub) End If If x <> numpages Then Response.Write(" | ") Next
Response.Write("</CENTER>")
' Clean up if rs.eof then rs.Close conn.Close Set rs = Nothing Set conn = Nothing end if %>
<%end if%> </BODY>
</HTML>
Pl. help me out...
thanks in advance.
sankari
------------- sankari
|