我试图返回使用笨,我将在后面使用JSON在JavaScript JSON数据。 现在的问题是,它只返回从数据库表中的最后一行,并从一排JSON格式。 这是我在控制器代码
public function v1 () {
$this->load->model('model_jokes');
$jokes = $this->model_jokes->readJokes();
foreach ($jokes as $joke) {
$arr = array(
array(
'title' => $joke->title,
'description' => $joke->joke
)
);
}
echo json_encode($arr);
}
我怎样才能让这个是我从数据库中检索的所有数据在JSON是回来了?
尝试
$arr = array();
foreach ($jokes as $joke) {
$arr[] = array (
'title' => $joke->title,
'description' => $joke->joke
);
}
在你的代码片段要覆盖$arr
在你的循环每次迭代。
在这个岗位上面的代码片段将追加所有条目的数组$arr
稍后可编码为JSON。
你分配$arr
到新阵列中的每个迭代,而不是增加值到它。
$arr = array();
foreach ($jokes as $joke) {
$arr[] = array(
'title' => $joke->title,
'description' => $joke->joke
);
}
控制器是不正确的?
//CONTROLLER
public function v1() {
$this->load->helper('file');
$data = $this->load->model('model_jokes');
$this->output
->set_content_type('application/json')
->set_output(json_encode($data));
}
并确保你的模型创建的阵列,而不是控制:
public function model_jokes()
{
$jokes = $this->_load_data();
$list = array();
foreach ($jokes as $joke) {
$list['joke'] = array(
'yourdata1' => $joke->yourvariable,
'yourdata2' => $joke->yourvariable
);
}
return $list;
}
我使用的模型内的私有函数来获取所有数据。
希望能帮助到你!
我一直在做这样..
$arr = array();
$key = 0;
foreach ($jokes as $joke)
{
$arr[$key]['title'] = $joke->title;
$arr[$key]['description'] = $joke->joke;
$key++;
}