Solved

Define maximum colums / Next and Previous

Posted on 2003-11-08
5
153 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

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

Suggested Solutions

This is a guide to setting up a new WHM/cPanel Server to be used for web hosting accounts. It is intended for web hosting company administrators and dedicated server owners. For under $99 per month (considering normal rate of Big Data Cetnters like …
What You Need to Know when Searching for a Webhost Provider
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

679 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