gpt4 book ai didi

php - 如何使用 PHP 和 MySQL 显示包含多个子类别的侧面导航菜单?

转载 作者:行者123 更新时间:2023-11-29 15:07:47 24 4
gpt4 key购买 nike

好吧,我想知道如何使用 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] 来提高性能(如果您有大量类别)。

关于php - 如何使用 PHP 和 MySQL 显示包含多个子类别的侧面导航菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1618356/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com