我的表中有以下条目:
id name unit_id lft rgt level
------------------------------------------
1 Sports 01 1 30 0
2 Cricket 02 2 3 1
3 Hocky 03 10 13 1
4 Tennies 04 11 12 2
5 Baseball 05 14 15 1
6 Soccer 06 16 25 1
7 Carrom 07 17 22 2
以上记录是手动插入的。<ul>
现在我想在 codeigniter 中动态插入记录,以便在<li>
标签中显示父子关系。我指的是这篇文章:
http://www.sitepoint.com/hierarchical-data-database-3/
我通过引用它做了以下代码。
$description = $_GET['description'];
$name = $_GET['name'];
$unit_id = $_GET['unit_id'];
$parent_level = (int) $_GET['level'];
$level = (int) $_GET['level'] + 1;
$sql0 = "Select `lft`, `rgt` from tablename
Where `level` = $parent_level";
$result = $this->db->query($sql0);
$records = $result->result_array();
$lft = $records[0]['lft'];
$rgt = $records[0]['rgt'];
$sql1 = "UPDATE tablename SET rgt = rgt+2 WHERE rgt > $rgt ";
$this->db->query($sql1);
$sql2 = "UPDATE tablename SET lft = lft+2 WHERE lft > $lft ";
$this->db->query($sql2);
$sql3 = "INSERT INTO tablename (`id`,`name`,`unit_id`,`description`, `lft`, `rgt`, `level`)
values (NULL, '$name', '$unit_id','$description', '$lft', '$rgt', '$level')";
echo $this->db->query($sql3);
但是这段代码不能正常工作,也不能维护父子关系。我认为这里有一些错误的计算,但无法弄清楚它有什么问题。
我需要帮助。谢谢。