在 foreach PHP Codeigniter 中调用存储过程
phpserver side programmingprogramming
需要将"Model"和"Controller"内的代码更改为包含下面显示的代码 −
在"Controller"内
$header = $this->model_name->call_head(); foreach($header as $item) { $name = $item['name']; $array['name'] = $name; $array['data'] = $item['data']; $child_val = $this->model_name->call_child($name); foreach($child_val as $value) { $array['child'] = array( 'child_name' => $value['child_name'], 'child_data' => $value['child_data'] ); } }
"model"内部
public function call_head() { $query = "CALL PROCEDURE_HEAD()"; $result = $this->db->query($query)->result_array(); $query->next_result(); $query->free_result(); return $result; } public function call_child($name) { $query = "CALL PROCEDURE_CHILD($name)"; $result = $this->db->query($query)->result_array(); $query->next_result(); $query->free_result(); return $result; }