Как упорядочить номер уровня дерева в виде слова с PHP? - PullRequest
0 голосов
/ 04 ноября 2019

Я создаю дерево в PHP. Я застрял в порядке порядкового номера дерева как слово с PHP. На самом деле я хочу получить результат вывода, как показано на рисунке ниже, я хочу, чтобы слово номера уровня могло автоматически подсчитываться при вставке нового нижестоящего дерева:

введите описание изображения здесь

Но моя кодировка показывает, что я не могу автоматически подсчитать вставку номера уровня как слово, как показано на рисунке ниже:

введите описание изображения здесь

Моя кодировка проблемы показана ниже:

    <?php


   $sql_select = 'SELECT * FROM users WHERE id = ' . $user_id;
  $query_select = db_conn_select($sql_select);
  $i=1;
  $level= 'Level';
  foreach ($query_select as $rs_select) {
  $email2 = $rs_select['email'];
  $name2 = $rs_select['name'];
 }

  $lang = $_COOKIE["Language"];

 require_once("language/lang_team_" . $lang . ".php");
 ?>




    <!-- Level tree -->
    <div class="row">               
   <!-- block -->
   <div class="col-lg-12">
   <div class="box">
    <header>
        <h5><?php echo $language["LIST_TITLE"]; ?>:</h5>
        <!-- .toolbar -->
        <!--div class="toolbar">
            <nav style="padding: 8px;">
                <a href="javascript:;" class="btn btn-default btn-xs collapse-box">
                    <i class="fa fa-minus"></i>
                </a>
            </nav>
        </div--><!-- /.toolbar -->
    </header><br><br>
     <div class="block">

    <div class="block-content collapse in">
    <div class="span6"> 
        <?php
        $sql = "select * from level_tree lt JOIN users u ON lt.user_id = u.id where lt.referal_id =" . $user_id . ' and lt.level=1';
        $query = mysql_query($sql);
        if (mysql_num_rows($query) > 0) {
            $select_name = 'SELECT * FROM users WHERE id = ' . $user_id;
            $query_select = db_conn_select($select_name);
            foreach ($query_select as $rs_select) {
                $name = $rs_select['name'];
                $email = $rs_select['email'];
                $email_arr = explode('@', $rs_select['email']);
                $email_length = strlen($email_arr[0]);
                $email_first = substr($email_arr[0], 0, 1);
                $email_last = substr($email_arr[0], -1, 1);
            }
            $email_address = '';
            for ($i = 0; $i < $email_length; $i++) {
                if ($i == 0) {
                    $email_address.=$email_first;
                } elseif ($i == $email_length - 1) {
                    $email_address.=$email_last;
                } else {
                    $email_address.='*';
                }
            }
            $email_user = $email_address . '@' . $email_arr[1];


            ?>          
            <div id="jstree"  style="font-size:15px;">
                <ul>
                    <li><b><?php echo "<b>&nbsp;&nbsp;&nbsp;".$level." ".$i.": &nbsp;".$name2."&nbsp;(".$email2.")"; ?></b></li>

                    <ul>
                        <?php
                        while ($rs = mysql_fetch_array($query)) {
                            $email_address = '';
                            $email_arr = explode('@', $rs['email']);
                            $email_length = strlen($email_arr[0]);
                            $email_first = substr($email_arr[0], 0, 1);
                            $email_last = substr($email_arr[0], -1, 1);
                            for ($i = 0; $i < $email_length; $i++) {
                                if ($i == 0) {
                                    $email_address.=$email_first;
                                } elseif ($i == $email_length - 1) {
                                    $email_address.=$email_last;
                                } else {
                                    $email_address.='*';
                                }
                            }
                            $email_user = $email_address . '@' . $email_arr[1];
                            echo "<li><b><img src='images/down_right_arrow.png' />".$level."&nbsp".$i.":&nbsp;".$rs['name']."&nbsp;(".$email_user.")";
                           // echo "<li><b>" . $email_user . "";
                            downline_list($rs['id']);
                            echo "</b></li>";
                        }
                        ?>
                        </div>
                        <?php
                    } else {
                       // echo $email2;
                        //echo "<b>&nbsp;&nbsp;&nbsp;".$name2."&nbsp;(".$email2.")";
                         echo '<div style="font-size:15px;color:black;font-weight:bold;"><img src="images/down_right_arrow.png /><span style="font-size:15px;color:black;font-weight:bold;">&nbsp;&nbsp;&nbsp;'.$name2.'&nbsp;('.$email2.')</span></div>';
                              echo "<br />";

                    }

                    function downline_list($id) {
                        $sql = "select lt.user_id,lt.referal_id,lt.`level`,u.email,u.name from level_tree lt JOIN users u ON lt.user_id = u.id where lt.referal_id =" . $id . " and u.is_active=1 and lt.level=1";
                        $query = mysql_query($sql);
                        if (mysql_num_rows($query)) {
                            echo "<ul>";
                            while ($rs = mysql_fetch_array($query)) {
                                $email_address = '';
                                $email_arr = explode('@', $rs['email']);
                                $email_length = strlen($email_arr[0]);
                                $email_first = substr($email_arr[0], 0, 1);
                                $email_last = substr($email_arr[0], -1, 1);
                                $level = 'Level';
                                for ($i = 0; $i < $email_length; $i++) {
                                    if ($i == 0) {
                                        $email_address.=$email_first;
                                    } elseif ($i == $email_length - 1) {
                                        $email_address.=$email_last;
                                    } else {
                                        $email_address.='*';
                                    }
                                }
                                $email_user = $email_address . '@' . $email_arr[1];
                        echo "<li><b><img src='images/down_right_arrow.png' />".$level."&nbsp;".$i.":&nbsp; ".$rs['name']."&nbsp;(".$email_user.")";
                               // echo "<li><b>" . $email_user;     
                                downline_list($rs['user_id']);
                                echo "</b></li>";
                            }
                            echo "</ul>";
                        }
                        $i++;
                    }
                    ?>               
                </ul></div>
    </div>
</div>
</div>
</div>
<!-- /block -->
< /div>

<script src="plugins/jstree/dist/jquery-1.10.2.min.js"></script>
<link rel="stylesheet" href="plugins/jstree/dist/themes/default/style.min.css" />
<script src="plugins/jstree/dist/jstree.min.js"></script>
<script>
$(function() {
    // 6 create an instance when the DOM is ready
    $('#jstree').bind("ready.jstree", function() {
        $('#jstree').jstree('open_all');
    }).jstree();

});
    </script>
    <style type="text/css">
     .jstree li > a > .jstree-icon {  display:none !important; } 

Надеюсь, кто-нибудь может мне помочь или сказать, в какой части я ошибаюсь. Большое спасибо.

...