0
+-------+------+-----------+------------+
|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--

しかし、私はこれではなく、上記の順序でそれを持ちたいと思っています。チュートリアルを読んだことがありますが、それらはすべて右左の分岐にこだわっています。

良い例へのリンク、私はうれしいです

私の問題に関する洞察は、私にも大いに役立ちます

私は修正の終わりに達したようです よろしくお願いします。

4

1 に答える 1

0

ツリーを作成する jquery プラグインのようなプラグインを使用することをお勧めします。

http://jquery.bassistance.de/treeview/demo/

http://www.jqwidgets.com/jquery-widgets-demo/#demos/jqxtree/treebindingtojson.htm

https://github.com/pioz/jquery-tree

于 2012-06-10T00:02:17.540 に答える