输出所有结果?

时间:2014-01-11 13:10:01

标签: mysql coldfusion

我一直在尝试在ColdFusion中创建自己的论坛脚本,但遗憾的是,它比我认为的要困难得多。我试图显示数据库中的所有注释时遇到困难,因为ColdFusion会引发错误。

  

以下信息适用于网站开发人员以进行调试。

     处理请求时出现

错误

     

元素USERNAME在REAGEER中未定义。

     

错误发生在 C:/inetpub/wwwroot/content/1-Home/topicview.cfm:第197行

     

195:
196:         <div id="pers_info">
197:         <a href="/">#reageer.username#</a> <cfif #reageer.online# is 1><img src="http://www.wonderhotel.nl/archive/icons/mini/habbo_online_anim.gif"></img><cfelse><img src="http://www.wonderhotel.nl/archive/icons/mini/habbo_offline.gif"></img></cfif></strong>
198:         <p>Berichten: 55</p>
199:

我为此脚本编写的代码如下:

<cfif IsDefined('URL.id') and URL.id neq ""> // Get the topic ID
<cfquery name = "comments" datasource = "#DSN#">
SELECT *
FROM  `forum_comments`
WHERE topicid = #id#
</cfquery> // Get the comments

  <cfif #comments.RecordCount# is 1>

<cfquery name = "reageer" datasource = "#DSN#">
SELECT *
FROM  `users`
WHERE id = #comments.poster#
</cfquery> // Get the comment posters
</cfif>

                        <cfset colour ="post_uneven">

  <cfloop query="comments">

<div id="#colour#">

        <div id="pers_info">
        <a href="/">#reageer.username#</a> <cfif #reageer.online# is 1><img src="http://www.wonderhotel.nl/archive/icons/mini/habbo_online_anim.gif"></img><cfelse><img src="http://www.wonderhotel.nl/archive/icons/mini/habbo_offline.gif"></img></cfif>
        <p>Berichten: 55</p>

<cfquery name = "reageer_badge_one" datasource = "#DSN#">
SELECT *
FROM  `user_badges`
WHERE user_id = '#reageer.id#'
AND badge_slot = 1
</cfquery>
<cfquery name = "reageer_badge_second" datasource = "#DSN#">
SELECT *
FROM  `user_badges`
WHERE user_id = '#reageer.id#'
AND badge_slot = 2
</cfquery>

                <div id="pers_info_habbo">
                <img src="http://habbo.nl/habbo-imaging/avatarimage?figure=#reageer.look#.gif">
                </div>

                        <div id="pers_info_grbadge">
                <cfif #reageer_badge_one.RecordCount# is 1>
                <img src="http://wonderhotel.nl/Public/Images/badges/#reageer_badge_one.badge_id#.gif">
                </cfif>
                </div>

                <div id="pers_info_badge">
                <cfif #reageer_badge_second.RecordCount# is 1>
                <img src="http://wonderhotel.nl/Public/Images/badges/#reageer_badge_second.badge_id#.gif">
                </cfif>
                </div>

                <div id="pers_info_missie">
                #reageer.motto#
                </div>
        </div>


        <div id="post_text">

                <a href="/"><div id="post_text_edit" title="Bericht aanpassen"></div></a>
                <a href="/"><div id="post_text_delete" title="Bericht verwijderen"></div></a>

                <div id="post_text_title">
                RE: #gettopic.title#
                </div>

                <div id="post_text_date">
                #DateFormat(dateAdd("s", comments.timestamp, "01/01/1970"))# #TimeFormat(dateAdd("s", comments.timestamp, "01/01/1970"))#
                </div>

                <div id="post_text_text">
                #comments.text#

                </div>

        </div>
</div></div>


        <cfif colour is "post_uneven"><cfset colour="post_even"><cfelse><cfset colour="post_uneven"></cfif>
                                        </cfloop>

        </cfoutput>




<div id="topic_info_balk"> // Useless
<div id="forum_paginas">
    Bekijk pagina:
    1
    <a href="#">2</a>
    <a href="#">3</a>
    <a href="#">4</a>
    <a href="#">5</a>
    <a href="#">6</a>
    <a href="#">7</a>
    <a href="#">8</a>
    <a href="#">9</a>
    <a href="#">10</a>
    <a href="#">>></a>
</div>

<div id="reageer-topic">

                                <a href="/topic/<cfoutput>#gettopic.id#</cfoutput>/comment">Reageer</a>
                </div>

</div>
</div>

我真的不知道我做错了什么,为什么ColdFusion会给我这个错误。我将非常感谢所有的帮助!我唯一的猜测是,ColdFusion试图从第一条评论的海报中获取所有数据(但也是如此),但这是错误的,因为我想得到评论1,评论2,以及之后的3,4,5等等。

此外,在向主题添加第一条评论时,一切正常。但是在添加第二个之后,我得到了您可以在上面看到的错误。

此致 的Yannick

1 个答案:

答案 0 :(得分:3)

我的猜测是,因为你在“试用者”查询周围有一个<cfif>,所以错误正在发生,因为有多个注释,但username的输出没有包含在<cfif>也是如此。因此,ColdFusion正试图从不存在的查询中获取username的值(因为<cfif>阻止它执行),因此错误。