У меня есть следующая база данных:
У меня есть функция ниже:
<?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>';
}
}
Других решений пока нет …