Php 循环在查询中返回一个结果
我试图在CodeIgniter中从数据库中获取数据。但是这个循环只返回一个循环Php 循环在查询中返回一个结果,php,codeigniter-3,Php,Codeigniter 3,我试图在CodeIgniter中从数据库中获取数据。但是这个循环只返回一个循环 $userchatData = $this->db->get($this->db->dbprefix('usres_chat'))->result_array(); foreach($userchatData as $key => $userdata) { $userdatas[]= array( 'chat_id' =>
$userchatData = $this->db->get($this->db->dbprefix('usres_chat'))->result_array();
foreach($userchatData as $key => $userdata)
{
$userdatas[]= array(
'chat_id' => $userdata['chat_id'],
'chat_from' => $userdata['chat_from'],
'created_date' => $userdata['created_date']
);
}
$data['ChatdatabyId'] = $userdatas;
$data['responseCode'] = '200';
$data['responseMessage'] = 'User listing successfully';
echo json_encode($data);
您需要定义
$userdatas=array()代码>在循环之外。它位于循环内部,这就是它重写数据并返回最后一条记录的原因
$userchatData = $this->db->get($this->db->dbprefix('usres_chat'))->result_array();
$userdatas = array();
foreach($userchatData as $key => $userdata){
$userdatas[]= array(
'chat_id' => $userdata['chat_id'],
'chat_from' => $userdata['chat_from'],
'created_date' => $userdata['created_date']
);
}
$data['ChatdatabyId'] =$userdatas;
$data['responseCode'] = '200';
$data['responseMessage'] = 'User listing successfully';
echo json_encode($data);
希望这将帮助您:
$userchatData = $this->db->get($this->db->dbprefix('usres_chat'))->result_array();
foreach($userchatData as $key => $userdata)
{
$userdatas[$key]['chat_id'] = $userdata['chat_id'];
$userdatas[$key]['chat_from'] = $userdata['chat_from'];
$userdatas[$key]['created_date'] = $userdata['created_date'];
}
/*print_r($userdatas); output here*/
$data['ChatdatabyId'] = $userdatas;
$data['responseCode'] = '200';
$data['responseMessage'] = 'User listing successfully';
}
echo json_encode($data);
更新完整函数,json_encode上面还有一个额外的}我不理解您遇到的问题。您能否共享数组中的数据,以及您希望该循环执行的操作;以及将数据数组分配给$userdatas[];它创建索引0、1、2等等。$userdatas[0]=$data、$userdatas[1]=$data、$userdatas[2]=$data等等。pradeep@pradeep此代码显示错误意外“=>”很抱歉,应该是=>不是=>我的错误复制粘贴错误只是好奇,是我的代码不适用于您,有什么问题吗