我正在为一个客户创建一份问卷,要求问题按 3 层级别组织,问题和类别的数量未知。我已经成功地创建了 UI 和从数据库中提取信息的代码,但是我一直在尝试找出如何将所有内容加载到正确的位置。数据库是由客户端组织的,所以我无法控制它:
id description parentId
1 Level 1 0
2 Level 2 0
3 Level 1a 1
4 Level 1b 1
5 Level 1a1 3
我现在使用的代码是这样的:
function printChildQuestions($parentid) {
$sql="SELECT * FROM pB_test WHERE parentID=$parentid";
$result=mysql_query($sql);
$i=0;
while (true) {
$row=mysql_fetch_array($result);
if (!$row) break;
if ($row['parentId'] == 0) {
echo '<div class="tabs">';
echo '<span class="level1">'.$row['description'].'</span>';
echo '<ul id="main-nav"><h2 align="center">Categories</h2></ul>';
echo '<div>'.$row['id'].' '.$row['description'].' '.$row['parentId'].'</div>';
if ($row['parentId'] == 1) {
}
echo '</div>';
} else {
echo '<div>'.$row['id'].' '.$row['description'].' '.$row['parentId'].'</div>';
}
printChildQuestions($row['id']);
}
}
printChildQuestions(0);
需要生成的html在这里:http: //jsfiddle.net/Cyb2N/
问题是我提出的每一个想法都需要我对关卡进行硬编码,并在引入关卡 2 时中断。有人能把我推向正确的方向吗?谢谢!