У меня есть вопрос, чтобы посчитать каждый уровень дерева. Например, я являюсь первой строкой в древовидной структуре, так что я являюсь уровнем 1, тогда как мой нисходящий уровень - уровень 2 стенда, нисходящий контур моего нисходящего уровня - уровень 3 стенда и так далее. Мой вопрос состоит в том, как принять каждое изменение номера уровня в качестве слова, введенного в мое древовидное представление.
Ниже приведена моя кодировка:
<?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> ".$level." ".$i.": ".$name2." (".$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." ".$i.": ".$rs['name']." (".$email_user.")";
// echo "<li><b>" . $email_user . "";
downline_list($rs['id']);
echo "</b></li>";
}
?>
</div>
<?php
} else {
// echo $email2;
//echo "<b> ".$name2." (".$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;"> '.$name2.' ('.$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." ".$i.": ".$rs['name']." (".$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; }
</style>
Мой вывод показан ниже под изображением, он может отображать числокак слово, но число неправильное, чтобы получить на каждом уровне:
На самом деле я хочу получить результат, как показано на рисунке ниже, уровень числа будет рассчитываться в соответствии суровень:
Я застрял в этом вопросе несколько дней, надеюсь, кто-то может помочь мне решить большую проблему. Спасибо.