我正在为客户创建一个问卷,需要将问题按照三层级别进行组织。我已经成功地创建了用户界面,但是在过去的三个小时里,我一直在尝试以正确的方式从数据库中提取数据,使得所有内容都能够正确加载。由于客户组织数据库的方式,我无法控制其结构:
我在网站上找到了一个与我的问题类似的问题,但当我尝试解决它时,我不断地得到以下结果:
代码:
有人知道如何修复这个问题以及具体是什么问题吗?谢谢。
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
有人知道如何修复这个问题以及具体是什么问题吗?谢谢。
JOIN
,这正是你真正需要的,但是如果你知道你只有三个级别,并且永远只会有三个级别,那么你可以将表左连接到自身三次。 - DaveRandom