Я создаю анкету для клиента, которая требует, чтобы вопросы были организованы по 3 слоям уровней. Я успешно создал пользовательский интерфейс. однако последние 3 часа я пытался извлечь данные из базы данных таким образом, чтобы все загружалось в нужном месте. База данных организована таким образом клиентом, поэтому я не могу ее контролировать:
id description parentId
1 Level 1 0
2 Level 2 0
3 Level 1a 1
4 Level 1b 1
5 Level 1a1 3
Я нашел вопрос, похожий на мой, на сайте, но когда я попытался его решить, я получил следующее при бесконечном повторении:
Код:
function makeList($par_id = 0) {
//your sql code here
$result = mysql_query("SELECT * FROM pB_test WHERE parentId = $par_id");
$pages = mysql_fetch_array( $result );
if (count($pages)) {
echo '<ul>';
foreach ($pages as $page) {
echo '<li>', $page['description'];
makeList($page['parentId']);
echo '</li>';
}
echo '</ul>';
}
}
makeList();
Вывод:
1
3
5
5
l
l
3
5
5
l
l
3
5
5
l
l
3
5
5
l
l
Кто-нибудь знает, как это исправить и в чем именно проблема? Ура