我们正在尝试使用CodeIgniter执行MLM二进制结构。但无法做到这一点。如果有人帮助我,那么我会很高兴。我已经给出了数据库图像,二进制树图像以及所有必需的代码。只需检查并告诉我如何以正确的格式将值放在二叉树中。我想只显示3层像图像,之后我们不需要更多的图层。主Parent节点是登录用户的用户代码。希望你理解我的观点。
二叉树的图像
查看代码
<div class="tree">
<ul>
<li>
<a href="#">001</a>
<ul>
<li>
<a href="#">002</a>
<ul>
<li>
<a href="#">004</a>
<ul>
<li><a href="#">008</a></li>
<li><a href="#">009</a></li>
</ul>
</li>
<li><a href="#">005</a>
<ul>
<li><a href="#">010</a></li>
<li><a href="#">010</a></li>
</ul></li>
</ul>
</li>
<li>
<a href="#">003</a>
<ul>
<li><a href="#">006</a>
<ul>
<li><a href="#">012</a></li>
<li><a href="#">013</a></li>
</ul></li>
<li><a href="#">007</a>
<ul>
<li><a href="#">014</a></li>
<li><a href="#">015</a></li>
</ul></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
型号代码
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class TreeModel extends CI_Model {
public function get_parent_node()
{
$this->load->database();
$query = $this->db->select('ref_code')
->group_by('ref_code')
->get('tbl_tree');
$result = $query->result_array();
return $result;
}
public function get_child_node($parent_node)
{
$this->load->database();
$query = $this->db->where('ref_code', $parent_node)
->get('tbl_tree');
$result = $query->result_array();
return $result;
}
}
控制器代码
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
public function index()
{
$this->load->model('TreeModel');
$parent_node = $this->TreeModel->get_parent_node();
$complete_tree = array();
foreach($parent_node as $parent):
$child_node = $this->TreeModel->get_child_node($parent['ref_code']);
$parent['childs'] = $child_node;
foreach($child_node as $child):
$child_node_1 = $this->TreeModel->get_child_node($child['ref_code']);
$parent['childs_1'][] = $child_node_1;
endforeach;
array_push($complete_tree, $parent);
endforeach;
echo "<pre>";
print_r($complete_tree);
die();
$data['tree'] = $complete_tree;
$this->load->view('welcome_message', $data);
}
}
提前致谢。