+-------+------+-----------+------------+
|user_id| name | parent_id |grandparentID
+----+--------+-----------+-------------+
| 1 | one | NULL | NULL |
| 2 | two | 1 | NULL |
| 3 | three | 1 | 1 |
| 4 | four | 2 | 1 |
| 5 | five | 2 | 2 |
| 6 | six | 2 | 2 |
| 7 | seven | 2 | 2 |
| 8 | eight | 3 | 3 |
| 9 | nine | 3 | 2 |
| 10 | ten | 3 | 1 |
| 11 | eleven | 3 | 2 |
+-------------+-----------+------------+
以下のようなDBスキーマでツリー構造を作りたい以下のようなもの
One
|
two______________three______________four______________five______________Six
| | | | |
n1 n2 n3 n4 n5 t1 t2 t3 t4 t5 h1 h2 h3 h4 h4 a1 a2 a3 a4 a5 s1 s2 s3 s4 s5
次のコードを書きました
<?php
function display_tree() {
$result = $this->qry("SELECT * FROM users WHERE Parent='?' or Parent ='?';" ,
'in(select id from user_id from users where Parent = "'.$_SESSION['id'].'")', $_SESSION['id']);
echo '<div align="center">'.$_SESSION['name'].'<br></div>';
echo '<div align="center">|</div>';
echo '<div align="center">';
while( $row=mysql_fetch_assoc($result)){
echo "___".$row['name'].$row['user_id'].'';
};
$result1 = $this->qry("SELECT * FROM users where grandParent='".$_SESSION['id']."'");
echo '<br>|<br>';
while( $row1 =mysql_fetch_assoc($result1)){
echo "--".$row1['name'];
}
echo '</div>';
}
?>
これはそれが表示するものです
one
|
___two___three
|
--four--five--six--seven--eight--
しかし、私はこれではなく、上記の順序でそれを持ちたいと思っています。チュートリアルを読んだことがありますが、それらはすべて右左の分岐にこだわっています。
良い例へのリンク、私はうれしいです
私の問題に関する洞察は、私にも大いに役立ちます
私は修正の終わりに達したようです よろしくお願いします。