2
スレッドデータのようにしたいので、データがツリービューで表示されますが、問題があります。データが正しく表示されません。いくつかの提案?Codeigniterを使用して再帰的なデータで階層親のcildrenを作成する方法
ここに私のテーブル
+-------------+--------------------+----------------------------------+
| division_id | division_parent_id | division_name |
+-------------+--------------------+----------------------------------+
| 1 | 0 | division one |
+-------------+--------------------+----------------------------------+
| 2 | 1 | division one child one |
+-------------+--------------------+----------------------------------+
| 3 | 1 | division one child two |
+-------------+--------------------+----------------------------------+
| 4 | 2 | division grandchild one-one |
+-------------+--------------------+----------------------------------+
| 5 | 2 | division grandchild one-two |
+-------------+--------------------+----------------------------------+
| 6 | 3 | division grandchild two-one |
+-------------+--------------------+----------------------------------+
| 7 | 3 | division grandchild two-two |
+-------------+--------------------+----------------------------------+
| 8 | 4 | division greatgradchild one-one |
+-------------+--------------------+----------------------------------+
| 9 | 4 | division greatgrandchild one-two |
+-------------+--------------------+----------------------------------+
と私のコード
function getThreaded($row){
$result = "<ul>";
$result .= "<li>".$row['division_name']."</li>";
$q = $this->db->get_where('tb_m_division', array('division_parent_id' => $row['division_id']));
if($q->num_rows() > 0)
{
foreach($q->result_array() as $row)
{
$result .= $this->getThreaded($row);
}
}
$result .="</ul>";
return $result;
}
function prepare(){
$q = $this->db->get_where('tb_m_division', array('division_parent_id' => '0'));
foreach($q->result_array() as $row)
{
$result = $this->getThreaded($row);
}
// $this->load->view('header');
// $this->load->view('v_tree', $data);
// $this->load->view('footer');
echo $result;
}
データのみを、私は、新しいデータを追加した場合、別のデータが表示されない、inputed最後を表示します。