0

ルート ID を使用して子と孫を作成する必要があるプロジェクトに取り組んでいます

user_1 は自分自身を登録し、彼 (user_1) も 2、3、4、5、6 を登録し、合計 (最大) 5 人の子供を持つ user_2 は 7、8、9、10、11 を登録します user_3 は 12、13 を登録します。 14、15、16など

user_1 のプロファイルでは、ツリー テーブルに彼の子供が一覧表示され、その子供から、登録された各子供からの孫も表示されます。

                                   1
 ----------------------------------------------------------------------
    |                  |                  |               |                |
     2                3                  4               5                6
---------------     ---------------   ---------------  ------------   -------------- 
|   |   |  |  |     |   |   |  |  |   |  |   |  |  |   |  |  |  |  |  |  |  |   |   |
7   8   9  10 11    12  13 14 15  16  17 18  19 20 21  22 23 24 25 26 27 28 29 30  31                        

User_ID は必ずしも順番通りではありませんが、例にすぎません また、USER 1は、彼が持っている子と孫の合計を表示します。最大の子 = 5、孫 = 20 == (25)

このような表を作成しました

 id | name  | password | totalfamily | grandparent | parent_id
 ---------------------------------------------------------------

私はテーブルが以下のような情報を保持することを望みます

id | name  | password | totalfamily | grandparent | parent_id
1     jon     ******                  NULL          NULL
2     mel     ******                  NULL          1
3     al      ******                  NULL          1
4     me      ******                  1             3

それを機能させるために新しいテーブル構造が必要な場合は、それも問題ありません。

登録手続き(parent_idとgrandparent_idの確認を含む)とログインの手続きをしました

しかし、データベースにクエリを実行して、ツリー構造のような名前をリストアップして子供と孫を表示する方法について修正中です

実行するには複雑なクエリステートメントが必要であることを知っています

Mysql + PHPの階層データ構造化チュートリアルを読むのに何日も費やしたので、これを解決することが緊急に必要です(ルールに違反しないことを願っています)が、私の方向に向かうのは簡単ではないようです。

誰か助けて??? 前もって感謝します。

4

2 に答える 2

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

それが私がそれを因数分解した方法です。

そして、子供たちをリストするページで、これが私がそれを手に入れた方法です.

                     Normal_codes
                          |
    ---newman ---ukwangwa ---hello ---azonto

次のコードを使用して

        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']);
      //select * from users where parent_id in(select id from users where parent_id = 1) or parent_id = 1;  

         echo '<div align="center">'.$_SESSION['name'].'<br></div>';
         echo '<div align="center">|</div>';
           echo '<div align="center">';
          while( $row=mysql_fetch_assoc($result)){
               echo "\n\r---".$row['name'];
              $result1 = $this->qry("SELECT * FROM users WHERE grandParent='?' or grandParent ='?';" ,
 'in(select user_id from users where grandParent = "'.$_SESSION['id'].'")', $_SESSION['id']);
             while( $row1 =mysql_fetch_assoc($result1)){ 
                //echo "<br>--".$row1['name'];  
             }
          }; 
          echo '</div>';

    }

ツリー形式で子と孫を一覧表示するのに役立つ HTML、Javascript/Jquery コードについて、誰もが思いつきました。

                             Normal_codes
                                  |
       ---newman ---     ukwangwa     ---  hello     ---    azonto
            |                |               |               |
   n1 n2  n3 n4 n5 n1 n2 n3 n4 n5   h1 h2 h3 h4 h4    a1 a2 a3 a4 a5

5人の保護者それぞれが登録した子供のイニシャル

クエリで私を支援する PHP コードも高く評価されます。

于 2012-06-07T12:34:18.890 に答える