Coldfusion 如何显示每天的事件?

Coldfusion 如何显示每天的事件?,coldfusion,Coldfusion,我有一个事件页面,需要在其中显示每天的事件。我已经做到了这一点,所以我正在取得进展 数据库有3个表:fairdays、eventtypes和events fairdays:id、fairdaydate(datetime)、daycolor、描述 eventtypes:id,eventtype首先,您不需要第一次查询 接下来,添加 order by eventday 查询getfairevents。这将使您能够执行以下操作: <cfoutput query="getfairevents"

我有一个事件页面,需要在其中显示每天的事件。我已经做到了这一点,所以我正在取得进展

数据库有3个表:fairdays、eventtypes和events

  • fairdays:id、fairdaydate(datetime)、daycolor、描述


  • eventtypes:id,eventtype首先,您不需要第一次查询

    接下来,添加

    order by eventday
    
    查询getfairevents。这将使您能够执行以下操作:

    <cfoutput query="getfairevents" group = "eventday">
        #eventday#
        <cfoutput>
            output other stuff here (individual events and times)
        </cfoutput>
    </cfoutput>
    
    
    #黄昏#
    在此处输出其他内容(单个事件和时间)
    
    首先,您不需要第一个查询

    接下来,添加

    order by eventday
    
    查询getfairevents。这将使您能够执行以下操作:

    <cfoutput query="getfairevents" group = "eventday">
        #eventday#
        <cfoutput>
            output other stuff here (individual events and times)
        </cfoutput>
    </cfoutput>
    
    
    #黄昏#
    在此处输出其他内容(单个事件和时间)
    
    (这对于注释来说太长了…)

    进一步说,他建议使用JOIN的和(重点是我的)一种更有效的方法来产生输出:

    。。。对数据进行排序时,消除相邻的重复行。如果你愿意,就用它 检索到在一个或多个查询列上排序的记录集。对于 例如,如果在cfquery中根据“Customer_ID”订购记录集 标记,您可以将输出分组到“Customer\u ID”

    对于联接,您需要包括所有三个表,以获取所需的所有列。我现在不能测试它,但大致是这样的。(请注意,结果的排序方式与您希望的显示方式相同,即按事件日期、类型和时间排序)

    获得排序结果后,使用“组”生成所需的结果。确保按照与sql查询相同的顺序,按相同的列对进行分组。否则,它将无法正常工作

    <cfoutput query="yourQuery" group="EventDay">    
        <!--- display event dates --->     
         #EventDay# <hr/>    
        <!--- event types for current date --->
        <cfoutput group="EventType">
            #EventType#<br/>
            <!--- individual events --->
            <cfoutput>
                #EventTime# <br/>
            </cfoutput>
        </cfoutput> 
    </cfoutput>
    
    同样,由于cfoutput“group”功能需要排序的查询数据才能正常工作,如果您更改orderby子句,请确保更新“group”列以匹配您的
    orderby
    子句。ie分组方式为:先按展会日期分组,然后按事件ID分组:

    <cfoutput query="yourQuery" group="fairDayDate">    
        <!--- display event dates --->     
         #fairDayDate# <hr/>    
        <!--- event types for current date --->
        <cfoutput group="ID">
            #EventType#<br/>
            <!--- individual events --->
            <cfoutput>
                #EventTime# <br/>
            </cfoutput>
        </cfoutput> 
    </cfoutput>
    
    
    #fairDayDate#
    #事件类型#
    #事件时间#
    (这对于注释来说太长了…)

    进一步说,他建议使用JOIN的和(重点是我的)一种更有效的方法来产生输出:

    。。。对数据进行排序时,消除相邻的重复行。如果你愿意,就用它 检索到在一个或多个查询列上排序的记录集。对于 例如,如果在cfquery中根据“Customer_ID”订购记录集 标记,您可以将输出分组到“Customer\u ID”

    对于联接,您需要包括所有三个表,以获取所需的所有列。我现在不能测试它,但大致是这样的。(请注意,结果的排序方式与您希望的显示方式相同,即按事件日期、类型和时间排序)

    获得排序结果后,使用“组”生成所需的结果。确保按照与sql查询相同的顺序,按相同的列对进行分组。否则,它将无法正常工作

    <cfoutput query="yourQuery" group="EventDay">    
        <!--- display event dates --->     
         #EventDay# <hr/>    
        <!--- event types for current date --->
        <cfoutput group="EventType">
            #EventType#<br/>
            <!--- individual events --->
            <cfoutput>
                #EventTime# <br/>
            </cfoutput>
        </cfoutput> 
    </cfoutput>
    
    同样,由于cfoutput“group”功能需要排序的查询数据才能正常工作,如果您更改orderby子句,请确保更新“group”列以匹配您的
    orderby
    子句。ie分组方式为:先按展会日期分组,然后按事件ID分组:

    <cfoutput query="yourQuery" group="fairDayDate">    
        <!--- display event dates --->     
         #fairDayDate# <hr/>    
        <!--- event types for current date --->
        <cfoutput group="ID">
            #EventType#<br/>
            <!--- individual events --->
            <cfoutput>
                #EventTime# <br/>
            </cfoutput>
        </cfoutput> 
    </cfoutput>
    
    
    #fairDayDate#
    #事件类型#
    #事件时间#

    小注释,不要使用
    选择*
    。按名称选择所需的列。此外,您还可以跳过
    where
    子句。这是多余的。这些列已在
    连接中匹配。请注意,不要使用
    选择*
    。按名称选择所需的列。此外,您还可以跳过
    where
    子句。这是多余的。这些列在
    连接中已经匹配。第一个查询给出了当天的日期和描述。我得先展示一下。然后,在下面是事件类型,然后在每个事件类型下是当天的事件和事件类型。(编辑)Dan正在描述如何使用
    join
    和cfoutput的“group”功能(更有效地)实现该结果。您可能需要调整它,但请尝试更好地理解该技术。但是您的第二个查询使用的是同一个表。第一个查询提供了当天的日期和描述。我得先展示一下。然后,在下面是事件类型,然后在每个事件类型下是当天的事件和事件类型。(编辑)Dan正在描述如何使用
    join
    和cfoutput的“group”功能(更有效地)实现该结果。您可能需要调整它,但请尝试更好地理解该技术。但是您的第二个查询使用的是同一个表。现在我明白了。无论如何,我想是的。我想当我加入时,我只得到了我在加入中要求的专栏。那么,你是说现在我已经完成了连接,所有的列都可以使用了?如果这是真的,我很喜欢这个加入的东西。基本上,是的。
    join
    子句确定如何在各个表之间匹配记录。
    select
    列表确定查询对象包含哪些列。由此我得到一个错误“将varchar值'walking Acts'转换为数据类型int时转换失败”。。。“Scolling Acts”是一种事件类型。有好几个,没关系。这是一个容易解决的问题。现在,我如何将答案授予多个人?你只能选择一个“答案”,但你可以投票选出任何你认为有用的帖子。现在我明白了。无论如何,我想是的。我想当我加入时,我只得到了我在加入中要求的专栏。那么,你是说现在我已经完成了连接,所有的列都可以使用了?如果这是真的,我很喜欢这个加入的东西。基本上,是的。
    join
    子句确定如何匹配记录