나는 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
필요 출력 `오른쪽 test2`의 doens '
test1 Right admin
test2 Left admin
test3 Right test1
test4 Left test1
Right test2
test43 Left test2
Right test3
test44 Left test3
당신이 넣은 사람은 아니다 일치하는 데이터베이스의 값을 언급 출력을 시도하려고 할 수 있습니다 존재하지 않습니다. 나는 당신이 login_user에 의해 그것들을 주문해야한다고 생각하고, 당신이 진술 한 결과물에 꽤 가까이 가야한다. – Kao
카오 (Kao)가 제안했듯이 결과 세트를 정렬하면 더 바람직한 결과를 얻을 수 있습니다. 또한 중첩 세트 모델의 계층 구조 데이터를 사용하는 것이 좋습니다. 계층 구조에서 노드 및 분기를 통과하고 트래버스하는 것이 훨씬 쉽습니다. –
@ 카오 내 질문에 무게는 일부 값은 오른쪽 또는 왼쪽되지 않습니다, 그것은 공백을 표시해야합니다 ... – Harinder