Debt Consolidation - Deaf Topics - Skype - Debt Consolidation - Boxing Class

PDA

View Full Version : displaying set number of results


J.P
Aug 13th 2005, 6:10 am
I know there is not many CF people on the forums but I though I would ask anyway :)

On a web site I have, people basically leave comments about bars in Puerto Del Carmen and give them a rating out of ten.

One bar is now upto 77 (or so) comments so the page is getting very long.

Is there a way to display say 20 comments on the first page, then automatically display the next 20 on a second page and so on?

I could do it other ways like in a while statement but it means creating the pages by hand which is time.

Any suggestions welcome.

JP

J.P
Aug 13th 2005, 9:50 am
no matter I've sorted a solution.. if you are interested then you can use the following code.

<CFPARAM name="start" default="1">
<CFPARAM name="disp" default="10"> (Number of records to display)

<CFQUERY datasource="Datasource" name="Name">
SELECT *
FROM Table
ORDER BY ID
WHERE ID = #ID#
</CFQUERY>


<CFSET end=Start + disp>
<CFIF start + disp GREATER THAN name.RecordCount>
<CFSET end=999>
<CFELSE>
<CFSET end=disp>
</CFIF>

<CFOUTPUT query="name" startrow="#start#" maxrows="#end#">
#your out put#
</CFOUTPUT>


<CFOUTPUT>
<br>
<table border="0" cellpadding="10">
<tr>

<CFIF start NOT EQUAL 1>
<CFIF start GTE disp>
<CFSET prev=disp>
<CFSET prevrec=start - disp>
<CFELSE>
<CFSET prev=start - 1>
<CFSET prevrec=1>
</CFIF>
<td><font face="wingdings">ç</font> <a href="yourpagename.cfm?ID=#ID#&start=#prevrec#">Previous #prev#
records</a></td>

</CFIF>
<CFIF end LT name.RecordCount>
<CFIF start + disp * 2 GTE name.RecordCount>
<CFSET next=name.RecordCount - start - disp + 1>
<CFELSE>
<CFSET next=disp>
</CFIF>
<td><a href="yourpagename.cfm?ID=#ID#&start=#Evaluate("start + disp")#">Next
#next# records</a> <font face="wingdings">è</font></td> (<- I had already passed a variable so you must remember to add this into this link)
</cfif>
</table>
</CFOUTPUT>