Click to See Complete Forum and Search --> : Can't get paging to work --HELP!!!!!


dorwin
06-15-2005, 10:14 PM
I've been trying to page through some reords. The records display on the first page but when you select page 2 there is nothing there but "My first IF statement, but the url points to page 2. Here is my code below.


<SCRIPT language="JavaScript">
function getFilter(listitem){
var object = "";
var listValue = getListValue(listitem);

document.formCategory.submit(listValue);

}
function getListValue(list){
var listValue="";
if (list.selectedIndex != -1) {
listValue = list.options[list.selectedIndex].value;
}
return (listValue);
}

</SCRIPT>


<%
ConnString = "DSN=ixllot"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open ConnString,,,adOpenForwardOnly
Set rs = Server.CreateObject("ADODB.Recordset")
' first have to get the category records to fill the drop down....
' Set SQL statement
strSQL = "SELECT DISTINCT prod_manufacturer FROM products ORDER BY prod_manufacturer"

' Open Recordset Object
rs.Open strSQL,conn, adOpenStatic
%>

<FORM name="formCategory">

<SELECT NAME="qryCategory" size="1" onChange="getFilter(this.form.qryCategory)" class="tablecategory">
<OPTION selected>Select A Category:
<% Do While Not rs.EOF
Response.Write ("<OPTION value='" & rs("prod_manufacturer") & "'>" & rs("prod_manufacturer"))
rs.MoveNext
Loop
rs.Close
Set rs=Nothing
%>
</OPTION>
</SELECT>
</FORM>
</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table></td>
<td width="506" valign="top" align="center">
<%
If Request.QueryString("qryCategory") = "" Then
Response.Write("Please select a category from the list.")
Else

Dim strCon, oCon, pages, Rec, DisplayNum, i, page, SQL, ipage, z

strCon = "DSN=ixllot"

page = request.querystring(CInt("page"))
If page = "" Then
page = 1
else
page = cint(page)
End If

DisplayNum = 0

Set oCon = Server.CreateObject ("ADODB.Connection")
Set Rec = Server.CreateObject ("ADODB.Recordset")

oCon.Open strCon
Rec.PageSize = 9
Rec.CursorLocation = adUseClient

SQL = "SELECT prod_link, prod_image FROM products WHERE (((prod_manufacturer) = '" & Request.QueryString("qryCategory") & "'))"
Rec.Open SQL, oCon


If Rec.EOF or Rec.BOF Then
Response.Write("No records found for category " & Request.QueryString("qryCategory"))
Else
Response.Write("<H3>Items Found for Category: " & Request.QueryString("qryCategory") & "</H3>")


ipage = Rec.PageCount

if page = 0 or page > ipage Then
Rec.AbsolutePage = ipage
else
Rec.AbsolutePage = page
end if

Response.Write "<table border='0' cellpadding='4' cellspacing='4' width='470' align='center' class='tableCenterProd'>"

LinkCount = 0

Do While Not Rec.EOF AND DisplayNum < 9
If LinkCount Mod 3 = 0 Then
If LinkCount <> 0 Then Response.Write "</tr>"
response.write("<tr><td align='center'>" & Rec("prod_image") & "<br>" & Rec("prod_link") & "</td>")
Else
response.write("<td align='center'>" & Rec("prod_image") & "<br>" & Rec("prod_link") & "</td>")
End If
LinkCount = LinkCount + 1
DisplayNum = DisplayNum + 1
Rec.MoveNext
Loop

response.Write("<tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td><td>")

end if

If ipage > 1 Then
response.write "<p align=center>"
pages = "Pages : &nbsp;"

For z = 1 to ipage
If z = page then
pages = pages & page & " "
Else
pages = pages & " <a href=?page=" & z & ">" & z & "</a>" & " "
End If
Next
response.write pages & "&nbsp;&nbsp;"
End If

if ipage > 1 And page > 1 Then
response.write "<br><a href=?page="& page - 1 &">Previous</a>"
end if

response.write "&nbsp;&nbsp;"
If ipage > 1 And page < ipage Then
response.write "<a href=?page="& page + 1 &">Next Page</a>"
end if

response.write "</p>"

response.Write("</td>")
response.Write("</tr></table>")




Rec.Close
oCon.Close
set Rec = nothing
set oCon = nothing
End If

%>

phpnovice
06-16-2005, 12:02 AM
This may not fix your problem but, for paging, this:

Do While Not Rec.EOF AND DisplayNum < 9

should be this:

page = Rec.AbsolutePage
Do While Not Rec.EOF AND Rec.AbsolutePage = page