簡體   English   中英

用戶“類別”表作為“子類別”的標題

[英]User “Categories” table as heading for “SubCategories”

我根本不知道這是不可能的...但是我需要創建一個SQL查詢,列出所有我的類別及其子類別。 問題是類別和子類別存儲在單獨的表中。

數據庫結構如下:表名:“類別”,列:“ ID,名稱”

表名稱:“ Sub_Categories”。 欄:“ ID,名稱,類別ID”。 category_ID用於使用ID將每個子類別鏈接到其父類別。

現在,我只有一個可以查詢所有“類別”的sql查詢代碼...我怎樣才能使它顯示出每個類別下的子類別列表?

<?php
$catlist= mysql_query('SELECT * FROM categories WHERE hide = 0 ORDER BY `order` ASC')
or die(mysql_error());  
?>
<?php foreach ($catlist as $catitem): ?>
<h2 class="category"><?php echo $catitem['name']; ?></h2>
<?php endforeach; ?>
<?php ?>

這將為您提供其余的信息-然后您需要進行布局並隱藏重復的類別文本。

SELECT * 
FROM categories c, sub_categories s
WHERE c.hide = 0 
AND s.category_id = c.category_id
ORDER BY `order` ASC

您可以在子類別表上使用聯接。 http://dev.mysql.com/doc/refman/5.0/en/join.html

但是,我建議不要在表級別上區分頂級類別和子級別類別,而應將它們全部放在具有以下字段的表中:parent_id,left_id和right_id。 基本上,這允許層次結構中類別的無限深度。 可能需要對如何正確實施進行一些研究,但是到目前為止,它的功能更為強大。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM