Solved

Define maximum colums / Next and Previous

Posted on 2003-11-08
5
150 Views
Last Modified: 2013-12-24
I have a profile page that I'm building. Column output for thumbnails is preferred but I am not clear on how to define a maximum number of colums to display.. and then to place previous and next links. I would like 3 colums, then a maximum of 15 recors per page (5 rows)

Here is what I have so far.......

<cfquery name="getData" datasource="profile">
    SELECT *
    FROM contacts
      WHERE state='CA' and country='USA' and status='APPROVED'
                  ORDER BY RND(ContactID)
</cfquery>

<cfscript>
      if (NOT structKeyExists(form, 'cols')) form.cols = 3;
</cfscript>

<cfif getData.recordCount MOD form.cols>
      <cfset variables.rows = int(getData.recordCount/form.cols) + 1>
      <cfset variables.pads = form.cols - (getData.recordCount MOD form.cols)>

      <cfloop from="1" to="#variables.pads#" index="i">
            <cfset temp = queryAddRow(getData)>
            <cfset temp = querySetCell(getData, 'contactID', '')>
      </cfloop>
<cfelse>
      <cfset variables.rows = getData.recordCount/form.cols>
</cfif>

<cfset variables.thisRow = 1>
<cfset variables.newrow = false>

<CFINCLUDE TEMPLATE="uppertemplate.cfm">
<p align="center"><b><font face="Arial" color="FFFFFF">CALIFORNIA, UNITED STATES LISTINGS</font></b></p>
<table style="border:0px" cellpadding="0" width="100%">
<tr>
<cfoutput query="getData">
      <cfif variables.newrow IS true><tr></cfif>
          <td><p align="center"><img border="0" src="../listphotos/#contactID#a.gif"></td>
      <cfif (getData.currentRow MOD form.cols EQ 0) AND (variables.thisRow LT variables.rows)>
            </tr>
            <cfset variables.newrow = true>
            <cfset variables.thisRow = variables.thisRow + 1>
      <cfelse>
            <cfset variables.newrow = false>
      </cfif>
</cfoutput>
</tr>
</table>

<CFINCLUDE TEMPLATE="lowertemplate.cfm">
0
Comment
Question by:TallGuyMD
  • 3
  • 2
5 Comments
 
LVL 10

Expert Comment

by:Mause
ID: 9707284
Hi there

Just tried to build one for you. try this:

<cfquery name="getData" datasource="profile">
    SELECT *
    FROM contacts
     WHERE state='CA' and country='USA' and status='APPROVED'
               ORDER BY RND(ContactID)
</cfquery>

<cfparam name="maxTD" default="3">
<cfparam name="maxTR" default="5">
<cfparam name="startrow" default="1">
<cfset name="maxrows" default=maxTD * maxtr>

<CFINCLUDE TEMPLATE="uppertemplate.cfm">

<p align="center"><b><font face="Arial" color="FFFFFF">CALIFORNIA, UNITED STATES LISTINGS</font></b></p>
<table style="border:0px" cellpadding="0" width="100%">
<tr>
<cfoutput query="getData" startrow="#startrow#" maxrows="#maxrows#">
    <td><p align="center"><img border="0" src="../listphotos/#contactID#a.gif"></td>
    <cfif not (getdata.currentrow mod maxTD) AND (getdata.currentrow-startrow) is not (maxrows-1)></tr><tr></cfif>
</cfoutput>
</tr>
</table>

<cfset previousstart = startrow - maxrows>
<cfif previousstart GTE 1>
<a href="thiesfile.cfm?startrow=#previousstart#">PREVIOUS</a>
</cfif>

<cfset nextstart = startrow + maxrows>
<cfif nextstart LT getData.recordcount>
<a href="thiesfile.cfm?startrow=#nextstart#">NEXT</a>
</cfif>

<CFINCLUDE TEMPLATE="lowertemplate.cfm">


Let me know if this works for you
Mause
0
 

Author Comment

by:TallGuyMD
ID: 9707402
Thanks for the reply Mause.. But that generates an error.

Invalid CFML construct found on line 11 at column 23.  
ColdFusion was looking at the following text:
default

The CFML compiler was processing:

a cfset tag beginning on line 11, column 2.
 
 
The error occurred in line 11
 
9 : <cfparam name="maxTR" default="5">
10 : <cfparam name="startrow" default="1">
11 : <cfset name="maxrows" default=maxTD * maxtr>
12 :
13 : <CFINCLUDE TEMPLATE="uppertemplate.cfm">
 
0
 
LVL 10

Accepted Solution

by:
Mause earned 125 total points
ID: 9707435
hhhmmm sorry my fould

replace line 11 width:
<cfset maxrows=maxTD * maxtr>

Mause
0
 

Author Comment

by:TallGuyMD
ID: 9707472
Yes... that worked just fine. Thanks a bunch :)
0
 
LVL 10

Expert Comment

by:Mause
ID: 9707714
NP, glad I could help

Mause
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Have you ever sent email via ColdFusion and thought of tracking this mail to capture the exact date and time when the message was opened ?  If yes, then this article is for you ! First we need a table user_email with columns user_id , email , sub…
When it comes to showing a 404 error page to your visitors, you do not want that generic page to show, and you especially do not want your hosting provider’s ad error page to show either. In this article, I will show you how to enable the custom 40…
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

706 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now