2016-05-02 13 views
2

私は非常に基本的なメニューシステムに取り組んでおり、すべてのカテゴリが1つのテーブルに保持され、サブカテゴリは 'issubcategoryof'フィールドにフラグが立てられています。出力レベルでは、サブカテゴリーを持つカテゴリーには「リンク」フィールドの値はありません(カテゴリー名をクリックするとサブカテゴリーのビューがトリガーされます)。しかし、すべてのサブカテゴリーはリンク値を持ちます(もちろん、リンク値があります)。疑念を避けるために、サブカテゴリは1つのレベルにしかなりません(したがって、カテゴリ>サブカテゴリ)。カテゴリとサブカテゴリのグループ化と出力

クエリと出力は、カテゴリとサブカテゴリの名前が正しく表示されているという意味で機能しますが、何らかの理由でサブカテゴリに「リンク」値が渡されていません。これにより、出力時に#subcatheader#と並んで#link#が空であることを意味しますが、値が必要です。

ここに私が現在持っている質問と出力があります。

<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

リンクの値が渡されていないということを意味しますか? 'catheader'で注文することなく、これは全く動作してはいけません。 –

+0

#link#と#subcatheader#は、出力時には基本的には空ですが、値が必要です。 – Lee

+0

私たちが推測するのではなく、生のクエリデータ、つまりgetnavのダンプを見るのに役立ちます。 – Leigh

答えて

6

私はコメントでこれをやっていますが、十分な担当者がいません。ポイント。とにかく、あなたは2つの "リンク"フィールドを持っています。それぞれ1つはpとcです。おそらくあなたは彼らに異なる名前を付ける必要がありますか?

+0

それが問題であるかどうかわかりませんが、それは良い見解です:) +1 – Leigh

+0

それでした!私は 'c.link AS sublink'にクエリを変更しました。これで完全に動作します。ありがとう! – Lee

+1

私の投票は100以上のあなたの評判を置きました。あなたは私にビールを借りています。 –

関連する問題