[英]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.