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
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