Mysql 类别和子类别的分组和输出
我正在开发一个相当基本的菜单系统,其中所有类别都保存在一个表中,子类别标记在“issubcategoryof”字段中。在输出级别,具有子类别的类别没有“链接”字段的值单击类别名称会触发子类别视图,但所有子类别都有链接值,当然,没有子类别的类别也有链接值。为免生疑问,子类别仅为1级,因此类别>子类别 查询和输出的工作原理是,它正确地显示了类别和子类别名称,但由于某种原因,没有为子类别传递“链接”值。我的意思是,当输出时,子标题旁边的链接是空的,但是应该有一个值 这是我目前的查询和输出Mysql 类别和子类别的分组和输出,mysql,coldfusion,Mysql,Coldfusion,我正在开发一个相当基本的菜单系统,其中所有类别都保存在一个表中,子类别标记在“issubcategoryof”字段中。在输出级别,具有子类别的类别没有“链接”字段的值单击类别名称会触发子类别视图,但所有子类别都有链接值,当然,没有子类别的类别也有链接值。为免生疑问,子类别仅为1级,因此类别>子类别 查询和输出的工作原理是,它正确地显示了类别和子类别名称,但由于某种原因,没有为子类别传递“链接”值。我的意思是,当输出时,子标题旁边的链接是空的,但是应该有一个值 这是我目前的查询和输出 <cf
<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>
我已经盯着这个看了一段时间,似乎我错过了一些非常明显的东西,但它暗示了我此刻!欢迎指点 我会在评论中这样做,但我没有足够的代表分数。无论如何,您有两个链接字段,p和c各一个。也许您需要为它们指定不同的名称?链接值未被传递是什么意思?如果不按catheader排序,这应该根本不起作用。从本质上说,在输出时,subcatheader旁边的链接是空的-但应该有一个值。与其让我们猜测,不如看到原始查询数据的转储,即getnav。不知道这是否是问题,但这是一个很好的观察:+1就是这样!我将查询改为“c.link AS sublink”,现在它可以正常工作了。谢谢我的投票使你的声誉超过100。你欠我一杯啤酒。丹,如果你去过夏威夷的话!