我很确定我错过了一些简单的东西,无论如何,在过去的三个小时里我已经尝试过对一些查询结果进行 JSON 编码,我经常使用代码点火器来做这件事,但是,它就是行不通,而且我不知道为什么。
我正在使用 CodeIgniter(最新版本),PHP5。
我的三个文件。
材料模型模型
public function get_types(){
return $this->db->query("SELECT * FROM material_types ORDER BY type_id")->result_array();
} // end function get_types
public function get_material($name){
return $this->db->query("SELECT T.name as 'type', M.* FROM material M, material_types T WHERE T.type_id = M.type_id and T.name = '".$name."' ORDER BY M.type_id and M.order")->result_array();
} // end function get_material_all
物料控制器
public function get_all(){
$json['response'] = array('types' => array());
$json['response']['types'] = $this->material_model->get_types();
foreach ($json['response']['types'] as $item){
$name = $item['name'];
$json['response'][$name] = $this->material_model->get_material($name);
}
$this->load->view('response', $json);
}
响应视图
$this->output->set_status_header(200);
$this->output->set_header('Content-type: application/json');
echo json_encode($response);
结果-> http://goethedev.com/iib_ci/index.php/material/get_all/
我用来验证 JSON 页面的内容 -> http://jsonformatter.curiousconcept.com/
我在上面显示了整个结果,我已经尝试将其缩小以进行测试,只限于 row_array,表 material_types 中只有几个字段,但没有运气,这也是我正在开发的新服务器,那就是不太可能是问题,但我认为值得一提。
谢谢。