我有2列的用戶名和領導層次化查詢
login_user sponsered_id right_left
test1 admin Right
test2 admin Left
test3 test1 Right
test4 test1 Left
test43 test2 Left
test44 test3 Left
我有一個函數
function display_children($parent, $level) {
// retrieve all children of $parent
$result = mysql_query('SELECT name, login_user, right_left FROM members_list '.
'WHERE sponsered_id="'.$parent.'";');
while ($row = mysql_fetch_array($result)) {
// indent and display the title of this child
echo '<tr><td>'.
$row['login_user'].' </td><td> '.$row['right_left'].' </td><td> '.$row['sponsered_id'].
"</td></tr>";
// call this function again to display this
// child's children
display_children($row['login_user'], $level+1);
}
}
echo display_children('admin',0);
,但沒有得到正確的輸出....它給人一種表我輸出
test1 Right admin
test3 Right test1
test44 Left test3
test4 Right test1
test2 Left admin
test43 Left test2
需要輸出
test1 Right admin
test2 Left admin
test3 Right test1
test4 Left test1
Right test2
test43 Left test2
Right test3
test44 Left test3
你說好好嘗試一下比賽在數據庫中的值輸出: '右test2'多恩斯不存在。我認爲你應該通過login_user來訂購它們,你應該非常接近你所說的輸出。 – Kao 2013-03-24 12:10:31
我想Kao建議,排序你的結果集可能會給你一個更理想的輸出。 此外,我會推薦使用嵌套集模型hierarichal數據,它是更容易使用和遍歷低谷節點和分支在您的層次結構。 – 2013-03-24 12:12:27
@Kao thats wt我的問題是有些值不是在右邊或左邊,它應該顯示空白... – Harinder 2013-03-24 12:21:22