
Next n Records
If you've ever been disgrunted with getting a Next n thing working, take a look below and copy-n-paste what you need.
Example HTML/CFML code:
<CFPARAM name="start" default="1"> <!--- Start displaying with record 1 if not specified via url --->
<CFPARAM name="disp" default="5"> <!--- Number of records to display on a page --->
<!--- Fetch records --->
<CFQUERY name="data" datasource="MyDB">
SELECT MyField
FROM MyDB
ORDER BY MyField
</CFQUERY>
<CFSET end=Start + disp>
<CFIF start + disp GREATER THAN data.RecordCount>
<CFSET end=999>
<CFELSE>
<CFSET end=disp>
</CFIF>
<CFOUTPUT query="data" startrow="#start#" maxrows="#end#">
#CurrentRow#. #MyField#<br>
</CFOUTPUT>
<CFOUTPUT>
<br>
<table border="0" cellpadding="10"><tr>
<!--- Display prev link --->
<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="NextN.cfm?start=#prevrec#">Previous #prev# records</a></td>
</CFIF>
<!--- Display next link --->
<CFIF end LT data.RecordCount>
<CFIF start + disp * 2 GTE data.RecordCount>
<CFSET next=data.RecordCount - start - disp + 1>
<CFELSE>
<CFSET next=disp>
</CFIF>
<td><a href="NextN.cfm?start=#Evaluate("start + disp")#">Next #next# records</a> <font face="wingdings">è</font></td>
</cfif>
</table>
</CFOUTPUT>
Return to the Cold Fusion Tips-N-Tricks topic list