2
有一天我遇到了這個問題,我找不到解決方案。 我的目標是從一個ID(父親)返回一個鏈接列表。所以我想要他所有的孩子。 但在目前看來,我只有結果(第一個...)。Codeigniter多維數組只返回第一行
我有我的控制器:
$data['list_link'] = $this->menuManager->list_link();
在我的模型:
function list_link($fatherid=0){
$r = array();
$sSQL = 'SELECT * FROM categories WHERE fatherid = ' . $fatherid . ' AND siteid = ' . MY_SITEID_DEFAULT . ' ORDER BY name';
$query = $this->db->query($sSQL);
// stock results in array
$r[] = $query->result_array();
foreach ($query->result() as $row) {
// let's find the childs
$this->list_link($row->id,$loop);
}
return $r;
}
如果我 「爲每一個」 的$這裏R,一切看起來不錯。 因此,$ data ['list_link'] shoud現在擁有所有行。
筆者認爲:
foreach ($list_link as $link){
foreach ($link as $row){
echo $row['name'];
}
}
但是,我只有第一個鏈接(第一個孩子的),沒有另外一個。任何幫助將不勝感激,因爲我在那個問題上好幾天...
Thx回答,我必須循環找到孩子。這就是爲什麼我使用遞歸。但是,隨着新的測試,我只注意到我得到了所有lvl 1個孩子。就好像遞歸不是很好,或者「r」沒有任何理由。也許我不使用數組以良好的方式? – Steph68 2014-10-19 18:42:33
嗯,即使你這樣做,就像我在回答的第一行代碼中展示給你的那樣?嘗試'var_dump'結果,看看發生了什麼。 – Shomz 2014-10-19 18:56:39
我嘗試了但沒有成功... – Steph68 2014-10-19 19:41:06