Solved

Define maximum colums / Next and Previous

Posted on 2003-11-08
5
155 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

Connect further...control easier

With the ATEN CE624, you can now enjoy a high-quality visual experience powered by HDBaseT technology and the convenience of a single Cat6 cable to transmit uncompressed video with zero latency and multi-streaming for dual-view applications where remote access is required.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

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…
Most ColdFusion developers get confused between the CFSet, Duplicate, and Structcopy methods of copying a Structure, especially which one to use when. This Article will explain the differences in the approaches with examples; therefore, after readin…
Monitoring a network: why having a policy is the best policy? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the enormous benefits of having a policy-based approach when monitoring medium and large networks. Software utilized in this v…
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …

718 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