这是我的控制器
public function showCategoryJson(){
$this->load->model('user/category_model');
$data[] = $this->category_model->displayCategory();
echo json_encode($data);
}
我的模特
function displayCategory(){
$query = $this->db->get('categories');
$res = $query->result_array();
return $res;
}
我的看法呢
<?php
$url = site_url('user/category/showCategoryJson'); // path to your JSON file
$data = file_get_contents($url); // put the contents of the file into a variable
// echo $data;
$results = json_decode($data); // decode the JSON feed
foreach ($results as $key => $cat) {
?>
<tr class="odd gradeX">
<td><?php echo $cat[$key]->categoryname; ?></td>
<td><?php echo $cat[$key]->username; ?></td>
<td class="center"><a class="btn btn-success fa fa-edit"></a> <a class="btn btn-danger fa fa-trash delete" id="<?php echo $cat[$key]->categoryid; ?>"></a></td>
</tr>
<?php } ?>
开始“调试”的方法之一是打印$results的内容。在foreach循环之前,请尝试以下操作:
print_r($results);
结果将显示类似的东西:
数组([0]=
这意味着json内容已被解码成嵌套数组。
您可以尝试为json_decode函数添加“true”参数,并以数组的形式访问变量。
=json_decode($data, true);//解码JSON提要
完整代码:
<?php
$url = site_url('user/category/showCategoryJson'); // path to your JSON file
$data = file_get_contents($url); // put the contents of the file into a variable
$results = json_decode($data,true); // decode the JSON feed
foreach ($results[0] as $key => $cat) {
?>
<tr class="odd gradeX">
<td><?php echo $cat['categoryname']; ?></td>
<td><?php echo $cat['username']; ?></td>
<td class="center"><a class="btn btn-success fa fa-edit"></a> <a class="btn btn-danger fa fa-trash delete" id="<?php echo $cat['categoryid']; ?>"></a></td>
</tr>
<?php } ?>
编辑:要将数据从控制器传递到视图,可以将模型的结果指定给变量,然后指示控制器加载视图以及存储数据的变量。
例如,在控制器中,可以更改以下内容:
public function showCategoryJson(){
$this->load->model('user/category_model');
$data['category_data'] = $this->category_model->displayCategory();
$url = site_url('user/category/showCategoryJson'); // path to your JSON file
$json_data = file_get_contents($url); // put the contents of the file into a variable
$data['results'] = json_decode($json_data,true); // decode the JSON feed
$this->load->view('[YOUR_VIEW_NAME]',$data);
}
然后可以在视图中使用$category_数据和$results。
您可以使用以下选项:
json_decode($data,true);
如果为TRUE,则返回的对象将转换为关联数组。