gpt4 book ai didi

php - 如何根据数据库表创建html菜单

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

我有表格类别

enter image description here

如何创建二级菜单,其中rodzic != 0(rodzic 表示父菜单)

  • 科明基·德鲁诺
    • 阿特拉
    • 乔图
    • 扫描
  • Kratki kominowe
  • Wkłady kominowe
  • Kominki gazowe

最佳答案

假设您的数组中有这样的数据:

$data = [
['id' => 3, 'typ' => 'kategorie', 'rodzic' => 0, 'nazwa' => 'OFERTA'],
['id' => 5, 'typ' => 'kategorie', 'rodzic' => 3, 'nazwa' => 'Kominki na drewno'],
/* more elements here */
];

您可以首先处理该数组并从中获取两个数组:顶级元素数组和子元素数组:

$top_level = [];
$sub_elem = [];

foreach($data as $row) {
$rd = $row['rodzic'];
if($rd) { // has parent
if(!isset($sub_elem[$rd])) { // first time encounter, initialize array
$sub_elem[$rd] = [];
}

$sub_elem[$rd][] = $row; // append row
}
else {
$top_level[] = $row; // append top level row
}
}

然后你只需像这样迭代数据:

<ul>
<?php foreach($top_level as $row): ?>
<li>
<?php echo $row['nazwa'] ?>
<?php if(isset($sub_elem[$row['id']])): ?>
<ul>
<?php foreach($sub_elem[$row['id']] as $sub_row): ?>
<li><?php echo $sub_row['nazwa'] ?></li>
<?php endforeach ?>
</ul>
<?php endif ?>
</li>
<?php endforeach ?>
</ul>

这仅适用于深度为 1 的情况。要任意嵌套列表,您需要创建 recursive函数,我将把它作为练习留给读者。

关于php - 如何根据数据库表创建html菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32024927/

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