[英]Display products of sub-categories on parent category page in php, mysql
[英]How to display a side nav menu with many sub-categories using PHP and MySQL?
好的,我想知道如何使用PHP和MySQL創建和顯示帶有許多類別和子類別的側面導航菜單?
我只是不知道從哪里開始編寫PHP代碼?
<ul>
<li><a href="" title="">First Nested Link</a></li>
<li><a href="" title="">First Nested Link</a></li>
<li><a href="" title="">First Nested Link</a>
<ul>
<li><a href="" title="">Second Nested Link</a></li>
<li><a href="" title="">Second Nested Link</a></li>
<li><a href="" title="">Second Nested Link</a>
<ul>
<li><a href="" title="">Third Nested Link</a></li>
<li><a href="" title="">Third Nested Link</a></li>
<li><a href="" title="">Third Nested Link</a>
<ul>
<li><a href="" title="">Fourth Nested Link</a></li>
<li><a href="" title="">Fourth Nested Link</a></li>
<li><a href="" title="">Fourth Nested Link</a></li>
</ul>
</li>
<li><a href="" title="">Third Nested Link</a></li>
<li><a href="" title="">Third Nested Link</a></li>
</ul>
</li>
<li><a href="" title="">Second Nested Link</a></li>
<li><a href="" title="">Second Nested Link</a></li>
</ul>
</li>
<li><a href="" title="">First Nested Link</a></li>
<li><a href="" title="">First Nested Link</a></li>
</ul>
這是我的MySQL表。
* categories
id | category_name | description
* sub_categories
id | parent_id | category_name | description
您的類別只需要一張桌子; 只需將頂級類別的parent_id
字段設置為null即可。
對於實際生成HTML,您可以按照以下方式進行操作(偽代碼),其中$category_data
是二維數組中查詢的結果,而$category_id
是要生成的父類別的ID。 要開始使用,請使用$category_id = 0
function print_category($category_data, $category_id)
{
print "<ul>";
foreach ($category_data as $category)
{
if ((integer)$category['parent_id'] == $category_id)
{
print "<li>" . $category['category_name'] . "</li>";
print_category($category_data, $category['id']);
}
}
print "</ul>";
}
您必須針對自己的布局和表結構進行修改。 通過將數組轉換為三維數組$category_data[parent_id][id][category_row]
可以提高性能(如果您有很多類別)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.