Solved

dynamic tr td issues

Posted on 2013-01-02
3
209 Views
Last Modified: 2013-01-03
I am using the following query but the data is coming as:

123
45
678

Here is the below Code i am using

Seems to be OK, but not user what is the Problem:

<cfquery name="qryIA" dbtype="query">
SELECT DISTINCT patientid, sum(total) as total FROM 
    myquery
    group by patientid, total
</cfquery>

  <cfscript>
        if (NOT structKeyExists(form, 'cols')) form.cols = 3;
    </cfscript>
  <cfif qryIA.recordCount MOD form.cols>
    <cfset variables.rows = int(qryIA.recordCount/form.cols) + 1>
    <cfset variables.pads = form.cols - (qryIA.recordCount MOD form.cols)>
    <cfloop from="1" to="#variables.pads#" index="i">
    <cfset temp = queryAddRow(qryIA)>
    <cfset temp = querySetCell(qryIA, 'patientid', '0')>
    </cfloop>
    <cfelse>
    <cfset variables.rows = qryIA.recordCount/form.cols>
  </cfif>
  <cfset variables.thisRow = 1>
  <cfset variables.newrow = false>
  <cfset variables.currentRow = 0>
  <table align="center" border="0" width="100%">
    <tr>
    <cfoutput query="qryIA" group="patientid">
    <cfquery name="qryIA1" dbtype="query">
        SELECT DISTINCT patientid, sum(total) as total FROM
        qryIA
        where patientid = #qryIA.patientid#
        group by patientid, total
       </cfquery>
    <cfif variables.newrow IS true>
      <tr>
    </cfif>
    <td height="30" valign="middle" align="center" style="border:1px dotted ##8471AD;">
    #qryIA1.patientid#<br />
    </td>

    <cfif (qryIA.currentRow MOD form.cols EQ 0) AND (variables.thisROW LT variables.rows)>
      <tr>

      <cfset variables.newrow = true>
      <cfset variables.currentRow = variables.currentRow + 1>
      <cfelse>
      <cfset variables.newrow = false>
    </cfif>
    </cfoutput>
    </tr>

  </table>

Open in new window

0
Comment
[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
  • 2
3 Comments
 
LVL 39

Expert Comment

by:gdemaria
ID: 38737366
I don't see why you need to query inside the loop, it does the same thing as your group-by.  Just add the other CFOUTPUT.

In any case, whether you put the child query back or not, this is the way I would loop your table cells and rows..

 <table align="center" border="0" width="100%">
   <tr>
   <cfoutput query="qryIA" group="patientid">
     <cfoutput>
      <cfif qryIA.currentRow gt 1 and (qryIA.currentRow MOD form.cols EQ 0)>
       </tr><tr>
      </cfif>
       <td height="30" valign="middle" align="center" style="border:1px dotted ##8471AD;">
        #qryIA.patientid#
       </td>
	 </cfoutput>
   </cfoutput>
 </tr>
</table>

Open in new window

0
 
LVL 16

Author Comment

by:Gurpreet Singh Randhawa
ID: 38737442
te query inside is required, so cannot change, so replacing ur code will solve or not?
0
 
LVL 39

Accepted Solution

by:
gdemaria earned 500 total points
ID: 38737664
I said that because I don't see that the inside query does anything.  It doesn't add anything that your outside query is not already doing - but maybe you have more to add to it.

But here it is with the query.. you don't need all that newrow code..

 <table align="center" border="0" width="100%">
   <tr>
   <cfoutput query="qryIA" group="patientid">
      <cfquery name="qryIA1" dbtype="query">
        SELECT DISTINCT patientid, sum(total) as total FROM
        qryIA
        where patientid = #qryIA.patientid#
        group by patientid, total
      </cfquery>
   
    <cfif qryIA.currentRow gt 1 and (qryIA.currentRow MOD form.cols EQ 0)>
      </tr><tr>
    </cfif>
       <td height="30" valign="middle" align="center" style="border:1px dotted ##8471AD;">
        #qryIA1.patientid#
       </td>
   </cfoutput>
 </tr>
</table>

Open in new window

0

Featured Post

Get HTML5 Certified

Want to be a web developer? You'll need to know HTML. Prepare for HTML5 certification by enrolling in July's Course of the Month! It's free for Premium Members, Team Accounts, and Qualified Experts.

Question has a verified solution.

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

This is an updated version of a post made on my blog over 3 years ago. It is unfortunately, still very relevant as we continue to see both SQLi (SQL injection) and XSS (cross site scripting) attacks hitting some of the most recognizable website and …
Recently while working on a project I got a very annoying cfdocument has no body error message. I had never seen this error before. So I checked the code. The code was pretty simple; it was Just showing me the cfdocumnt tag and inside that tag a …
There's a multitude of different network monitoring solutions out there, and you're probably wondering what makes NetCrunch so special. It's completely agentless, but does let you create an agent, if you desire. It offers powerful scalability …
In this video you will find out how to export Office 365 mailboxes using the built in eDiscovery tool. Bear in mind that although this method might be useful in some cases, using PST files as Office 365 backup is troublesome in a long run (more on t…
Suggested Courses

630 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