質問とカテゴリの数が不明な、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が導入されると中断することです。誰かが私を正しい方向に押しやることができますか?ありがとう!