gpt4 book ai didi

php - 从数据库的 ARRAY 创建多级菜单

转载 作者:行者123 更新时间:2023-11-30 23:08:25 25 4
gpt4 key购买 nike

下面是 2 个函数,它们将处理 MySQL 数据库中菜单的查询和渲染。

这个函数循环遍历数组。接受 2 个参数。

function loop_section($array, $parent_id = 0){
echo '<ul>';
foreach($array as $section){
echo '<li>';
echo $section->section_name;
echo '</li>';
}
echo '</ul>';
}

此函数处理从数据库中的表部分查询菜单。

function fetch_sections(){
global $db;
$array = array();
$query = $db->SELECT("SELECT * FROM sections");
$array = $db->ROWS();
loop_section($array);
}

这是我的问题,我将如何使用在 loop_section() 函数中传递的数组来制作多级菜单?

这是数据库结构 Database Strucutre

最佳答案

没有测试过,但是试试这样的:

function print_section(array $sections, $parent_id = null) {
echo '<ul>';
foreach($sections as $section) {
if($section->parent_id != $parent_id)
continue;
echo '<li>';
echo $section->section_name;
print_section($sections, $section->section_id);
echo '</li>';
}
echo '</ul>';
}

function fetch_sections(){
global $db;
$query = $db->SELECT("SELECT * FROM sections ORDER BY section_order"); // assuming that you have section_order column
return $db->ROWS();
}

function print_sections() {
print_section(fetch_sections());
}

关于php - 从数据库的 ARRAY 创建多级菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20808603/

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