我有下一个数据库:
我有以下功能:
<?php
$connection = mysql_connect("localhost", "root", "password") or die(mysql_error());
mysql_select_db("database1", $connection) or die(mysql_error());
function loop_array($array = array(), $parent_id = 0)
{
if (!empty($array[$parent_id])) {
echo '<ul>';
foreach ($array[$parent_id] as $items) {
echo '<li>';
echo '<a href="?page='.$items['id'].'">'.$items['title'].'</a>';
loop_array($array, $items['id']);
echo '</li>';
}
}
}
function displays_menus_revised()
{
$sql = "SELECT * FROM pages";
$query = mysql_query($sql) or die(mysql_error());
$array = array();
if (mysql_num_rows($query)) {
while ($rows = mysql_fetch_array($query)) {
$array[$rows['parent_id']][] = $rows;
}
loop_array($array);
}
}
?>
我的问题是功能类似于左图所示显示记录。我希望该功能显示记录如右图所示。你能告诉我问题出在哪里吗?功能如右图所示记录我必须更改什么?谢谢。
最佳答案
这么小的代码,代码真好。仅缺少结尾的“ ul”。
function loop_array($array = array(), $parent_id = 0)
{
if (!empty($array[$parent_id])) {
echo '<ul>';
foreach ($array[$parent_id] as $items) {
echo '<li>';
echo '<a href="?page='.$items['id'].'">'.$items['title'].'</a>';
loop_array($array, $items['id']);
echo '</li>';
}
echo '</ul>';
}
}
关于php - 如何制作子菜单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29714947/