分组&类别输出&小类

时间:2016-05-02 20:29:17

标签: mysql coldfusion

我正在开发一个相当基本的菜单系统,所有类别都保存在一个表中,子类别标记在字段'issubcategoryof'中。在输出级别,具有子类别的类别没有“链接”字段的值(单击类别名称会触发子类别的视图),但所有子类别都具有链接值(当然,没有子类别的类别)有一个链接值)。为避免疑义,子类别仅为1级(因此类别为>子类别)。

查询和输出的工作原理是它正确地显示了类别和子类别名称,但是由于某种原因,“链接”值未被传递给子类别。我的意思是#link#旁边#subcatheader#在输出时是空的,但应该有一个值。

这是我目前的查询和输出;

<cfquery name="getnav">
SELECT p.navID AS PrimaryID, p.catheader, p.navsort, p.link, c.navID AS SubCategoryID, c.subcatheader, c.link
FROM  sitenav p 
LEFT JOIN sitenav c ON p.navID = c.IsSubcatOf 
WHERE  p.isSubcatOf = 0
ORDER BY p.navsort ASC
</cfquery>

<cfoutput query="getnav" group="catheader">
    <div class="sidebar-menu">
       <cfif link NEQ ''>
          <a href="#link#">#catheader#</a>
       <cfelse>
          #catheader#
       </cfif>
       <div class="expand"></div>
    </div>
    <cfif link EQ ''> 
        <div class="sub-menu">
        <ul>
            <cfoutput>
               <li><a href="#link#">#subcatheader#</a></li>
            </cfoutput>
        </ul>
        </div>
    </cfif>
</cfoutput>

我一直盯着这一段时间,似乎我错过了一些非常明显的东西,但现在却暗示着我!任何指针都欢迎!

1 个答案:

答案 0 :(得分:6)

我会在评论中这样做,但我没有足够的代表。点。无论如何,你有两个“链接”字段,分别用于p和c。也许你需要给他们不同的名字?