OutFront Forums
     Home    Register     Search      Help      Login    

Follow Us
On Facebook
On Twitter
RSS
Via Email

Recent Posts
Todays Posts
Most Active posts
Posts since last visit
My Recent Posts
Mark posts read

Sponsors
Shopping Cart Software
Ecommerce software integrated into Frontpage, Dreamweaver and Golive templates. No monthly fees and available in ASP and PHP versions.
Website Templates
We also have a wide selection of Dreamweaver, Expression Web and Frontpage templates as well as webmaster tools and CSS layouts.
Frontpage website templates
Creative Website Templates for FrontPage, Dreamweaver, Flash, SwishMax

 

I have reinvented the wheel. And it only took a day!

 
View related threads: (in this forum | in all forums)

Logged in as: Guest
Users viewing this topic: none
Printable Version 

All Forums >> Web Development >> ASP, PHP, and Database >> I have reinvented the wheel. And it only took a day!
Page: [1]
 
hzarabet

 

Posts: 1549
From: New Milford CT USA
Status: offline

 
I have reinvented the wheel. And it only took a day! - 10/19/2003 17:21:44   
In my quest to wean myself off of the DRW, I came to the point of having to build a query that results in more than 1 page. Yow.:)

I looked at some "examples" of how to do this on the web but it would have taken me longer to decipher them than to try doing it myself. So i did:)!

I set the code up as includes (two of them). I can now drop these includes into my HTML and I'm set! I am including the code below for two reasons:

1. I have gotten so much from all of you, if I can give a crumb back I am pleased!

2. Maybe someone could find fault in the code! It APPEARS to be pretty good.

Heres the deal:

1. On your "results" page you need to include a space to tell the code the number of results per page and a "SELECT COUNT" statement to tell the code the total number of results:

<%
'Set Records Per Page. Replace 30 with your records per page
Dim iRPP
iRPP = "30"
%>

<%
SQL = "SELECT Count(*) AS Total FROM (From this point forward this statement should match the SQL you are using to call the results.)
set RS = conn.execute(SQL)
%>

2. Insert the following (include 1) right after the above SQL:

<%
Dim iTotal
iTotal = RS("Total")

'iPageTotal is number of page of query results
Dim iPageTotal
iPageTotal = iTotal/iRPP

'iPageCount is the page of the query
Dim iPageCount
iPageCount = 0

Dim i, iPN, iStart, iEnd
iPN = Request.QueryString("PN")

If iPN = "" then
iPN = 1
end if
If iPN*iRPP <= iTotal then
iEnd = (iPN*iRPP)-1
Else
iEnd = iTotal-1
end if

If iEnd = iTotal then
iStart = (iPageTotal-1)*iRPP
ElseIf iPN = 1 then
iStart = 0
ElseIf iPN >1 then
iStart = (iPN*iRPP)-iRPP
end if
%>

3. This is set up using getrows. You will need to to modify a typical

<%FOR i = 0 TO Ubound(array,2)%>

to the following (iStart tells the array the first record to use based on the page number you click. iEnd does the last row):

<%For i = iStart to iEnd%>

4. Insert the following (include 2) just before your </body> tag.

<%If iTotal > "&iRPP&" then%>

<%
If Request.QueryString("SortOrder") > "0" then
iSortOrder = "&SortOrder="&Request.QueryString("SortOrder")&""
End if

If (iPageTotal-Int(iPageTotal)) < .50 then
xPageTotal = Round(iPageTotal)+1
Else
xPageTotal = Round(iPageTotal)
end if
%>
<table border="0" width="756" align = "center">
<tr>
<td width="100%" align="right"><font face="Arial" size="2"><b>Page <%=iPN%> of <%=xPageTotal%><br>
Go to:
<%
If iPN <> 1 then
%>
<a href = "..<%=Request.Servervariables("URL")%>?PN=<%=Request.QueryString("PN")-1%><%=iSortOrder%>" style="text-decoration: none">Previous</a> 
<%end if%>
<% Do While iPageCount < iPageTotal %>
<% iPageCount = iPageCount+1%>
<a href = "..<%=Request.Servervariables("URL")%>?PN=<%=iPageCount%><%=iSortOrder%>"><%=iPageCount%></a>
<%Loop%>
<%
If iPN < ""&iPageTotal&"" then
%>
 <a href = "..<%=Request.Servervariables("URL")%>?PN=<%=Request.QueryString("PN")+1%><%=iSortOrder%>" style="text-decoration: none">Next</a><br>
<%end if%>
</b>
</font>
</td>
</tr>
</table>
<%end if%>


I also have code included if a Sort Order querysting is invloved.

That's it. Hope it works for you. In case it needs mentioning :), back up first!

Check it here

< Message edited by hzarabet -- 10/19/2003 5:48:37 PM >


_____________________________

http://www.SigningsHotline.com lists EVERY upcoming athlete autograph appearance in the US and Canada
Page:   [1]

All Forums >> Web Development >> ASP, PHP, and Database >> I have reinvented the wheel. And it only took a day!
Page: [1]
Jump to: 1





New Messages No New Messages
Hot Topic w/ New Messages Hot Topic w/o New Messages
Locked w/ New Messages Locked w/o New Messages
 Post New Thread
 Reply to Message
 Post New Poll
 Submit Vote
 Delete My Own Post
 Delete My Own Thread
 Rate Posts