首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法分组CFQuery结果

无法分组CFQuery结果
EN

Stack Overflow用户
提问于 2016-09-13 13:43:23
回答 2查看 125关注 0票数 0

我有一个CFQuery从一个表中提取数据,我想以一种格式将数据输出到屏幕上,这种格式可以根据其中一列“公司名称”对数据进行分组。我似乎无法理解这方面的逻辑。

目前,我只是循环遍历数据,将其输出到屏幕上,并通过水平规则标记将其分隔开。这并不是最好的方法,它生成了一个非常长的结果列表,用户需要滚动通过。我希望通过分组数据,它将更加可读性。

这是我的代码:

代码语言:javascript
复制
<!--- Feedback Query --->
  <cfquery name="getFeedback" datasource="#datasource#">
    select ticket_id, service_satisfaction, customer_notes, response_date, company_name
    from service_verification
    order by company_name
  </cfquery>

        <br />
        <cfoutput query="getFeedback" group="company_name"><strong>Company Name: #getFeedback.company_name#</strong><br />

          <cfquery dbtype="query" name="parsed">
          select company_name
          from getFeedback
          where company_name = '#getFeedback.company_name#'
          </cfquery>
          (#parsed.recordcount# Responses)<br />

          <cfoutput>


          Ticket Number: <cfif #getFeedback.ticket_id# eq 0>No ticket associated with this feedback. This was solicited feedback.<cfelse>#getFeedback.ticket_id#</cfif><br />
          Date: #DateFormat(getFeedback.response_date, 'mm/dd/yyyy')# at #TimeFormat(getFeedback.response_date, 'hh:mm:ss')#<br /><br />
          Rating: <cfif #getFeedback.service_satisfaction# eq 'thumbs-up'><img src="images/thumbs-up-small.png" /><cfelse><img src="images/thumbs-down-small.png" /></cfif><br />
          Customer Notes: <cfif #getFeedback.customer_notes# eq ''>No additional comments provided.<cfelse>#getFeedback.customer_notes#</cfif><br /><br />
          <hr style="border-top: 1px dashed ##8c8c8c;" />
          </cfoutput>

        <br />
    </cfoutput>

下面是上面查询的CFDUMP示例:

代码语言:javascript
复制
company_name        service_satisfaction    response_date               ticket_id   customer_notes  
1   AmerTech        thumbs-up               {ts '2014-10-22 10:25:14'}  22667       Jeff was great. thanks  
2   AmerTech        thumbs-up               {ts '2015-01-20 12:02:34'}  23795       Rich was good. Thanks. He needs to send out a another drive that we would like as backup to take home at night. Also, he missed one machine for backups that I need to discuss. Have someone please call . Thanks 
3   AmerTech, Inc   thumbs-up               {ts '2015-04-16 13:56:44'}  25066
4   AmerTech, Inc   thumbs-down             {ts '2015-10-22 11:23:40'}  27293       Brian, I understand from Dave that you could not solve the problem and that he had to call the OEM to solve the problem. This is what I was informed. I do not know any of the details surrounding the issue. but it shouldn't take that long to install a printer on a new laptop. Why did this occur and how do I make sure it doesn't happen again. thanks mark
5   AMIB            thumbs-down             {ts '2014-10-02 12:18:27'}  22463       Representative did not call me upon arrival at group home as instructed and implemented changes without approval from HR
6   AMIB            thumbs-up               {ts '2015-06-08 09:58:03'}  25599
7   AMIB            thumbs-up               {ts '2016-03-10 14:10:01'}  28777
8   AMIB            thumbs-up               {ts '2016-03-28 09:10:37'}  29193       Michael is a great tech! Extremely helpful and responsive to our needs! 
9   AMIB            thumbs-up               {ts '2016-03-28 10:19:19'}  28777

更新:

当我将group属性添加到cfoutput标记时,它只显示组的第一个结果。

代码语言:javascript
复制
<cfloop query="getFeedback"> 

  <cfoutput><cfoutput query="getFeedback" group="company_name">

      Company Name: #getFeedback.company_name# &nbsp; <cfif #getFeedback.service_satisfaction# eq 'thumbs-up'><img src="images/thumbs-up-small.png" /><cfelse><img src="images/thumbs-down-small.png" /></cfif><br />
      Ticket Number: <cfif #getFeedback.ticket_id# eq 0>No ticket associated with this feedback. This was solicited feedback.<cfelse>#getFeedback.ticket_id#</cfif><br />
      Date: #DateFormat(getFeedback.response_date, 'mm/dd/yyyy')# at #TimeFormat(getFeedback.response_date, 'hh:mm:ss')#<br /><br />

      Customer Notes: #getFeedback.customer_notes# &nbsp; <br /><br />

      <br />

  <hr></cfoutput>
  </cfloop>
EN

回答 2

Stack Overflow用户

发布于 2016-09-13 17:02:26

去掉循环标签。然后使用这个:

代码语言:javascript
复制
<cfoutput query="getFeedback" group="company_name">
    <!--- OUTPUT EACH GROUP --->
    Company Name: #getFeedback.company_name# &nbsp; <cfif #getFeedback.service_satisfaction# eq 'thumbs-up'><img src="images/thumbs-up-small.png" /><cfelse><img src="images/thumbs-down-small.png" /></cfif><br />
    <cfoutput>
        <!--- OUTPUT EACH RECORD --->
        Ticket Number: <cfif #getFeedback.ticket_id# eq 0>No ticket associated with this feedback. This was solicited feedback.<cfelse>#getFeedback.ticket_id#</cfif><br />
        Date: #DateFormat(getFeedback.response_date, 'mm/dd/yyyy')# at #TimeFormat(getFeedback.response_date, 'hh:mm:ss')#<br /><br />      
        Customer Notes: #getFeedback.customer_notes# &nbsp; <br /><br />        
        <br />
    </cfoutput>
    <hr>
</cfoutput>

这是第二个/嵌套的CFOUTPUT标记,它遍历每个记录。注意,HR在组中,而不是每个记录。

如果你想变漂亮,你可以用jQuery做手风琴。每个组是头,每个记录是内容。

票数 1
EN

Stack Overflow用户

发布于 2016-09-13 17:45:20

这是我的工作代码的最后一节。谢谢@Leigh

代码语言:javascript
复制
<!--- Feedback Query --->
<cfquery name="getFeedback" datasource="#datasource#">
     select ticket_id, service_satisfaction, customer_notes, response_date, company_name
     from   service_verification
     order by company_name
</cfquery>

<br />
<cfoutput query="getFeedback" group="company_name">
    <strong>Company Name: #getFeedback.company_name#</strong><br />

    <cfquery dbtype="query" name="parsed">
         select company_name
         from   getFeedback
         where  company_name = '#getFeedback.company_name#'
    </cfquery>
    (#parsed.recordcount# Responses)<br />

    <cfoutput>
         Ticket Number: <cfif getFeedback.ticket_id eq 0>No ticket associated with this feedback. This was solicited feedback.<cfelse>#getFeedback.ticket_id#</cfif><br />
         Date: #DateFormat(getFeedback.response_date, 'mm/dd/yyyy')# at #TimeFormat(getFeedback.response_date, 'hh:mm:ss')#<br /><br />
         Rating: <cfif getFeedback.service_satisfaction eq 'thumbs-up'><img src="images/thumbs-up-small.png" /><cfelse><img src="images/thumbs-down-small.png" /></cfif><br />
         Customer Notes: <cfif getFeedback.customer_notes eq ''>No additional comments provided.<cfelse>#getFeedback.customer_notes#</cfif><br /><br />
         <hr style="border-top: 1px dashed ##8c8c8c;" />
     </cfoutput>

     <br />
</cfoutput>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39471657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档