Php 根据ID将数据库表数据拆分为不同的数组
我有下表Php 根据ID将数据库表数据拆分为不同的数组,php,mysql,arrays,codeigniter,Php,Mysql,Arrays,Codeigniter,我有下表 Vehicle_id lat long A11 25.45 98.01 A11 26.45 98.02 B12 25.75 98.03 A11 25.25 98.04 B12 27.45 98.05 A11 25.35 98.06 C11 28.45 98.07 我的代码:- 控制器代码: 模态代码: 我想根据vehicle_id从不同
Vehicle_id lat long
A11 25.45 98.01
A11 26.45 98.02
B12 25.75 98.03
A11 25.25 98.04
B12 27.45 98.05
A11 25.35 98.06
C11 28.45 98.07
我的代码:-
控制器代码:
模态代码:
我想根据vehicle_id从不同数组中的表中获取这些数据,并将它们全部推送到json_encode中。我如何做到这一点。是否有可能构造一个查询来执行此操作,或者我必须为数组中的单个车辆id存储执行此操作,然后将其添加到json编码中。请帮我找到解决办法 假设您在表行上循环:
$vehicles = [];
while($row = $db->fetch_assoc())
{
$vehicles[$row['Vehicle_id']][]=$row;
}
您可以使用Vehicle_id作为$vehicles的数组键,并将行添加到其中
这将导致以下json:
{
"A11": [
{
"Vehicle_id": "A11",
"lat": 25.45,
"long": 98.01
},
{
"Vehicle_id": "A11",
"lat": 26.45,
"long": 98.02
},
...
],
"B12": [
{
"Vehicle_id": "A11",
"lat": 25.75,
"long": 98.03
},
...
]
}
解释:
语法$a[]=1将1追加到数组$a,从而产生:
[
0=>1
]
[
'b'=>[0=>1]
]
此$a['b'][]=1附加到数组$a中键b处的数组,结果是:
[
0=>1
]
[
'b'=>[0=>1]
]
从抓取记录时选择*然后选择:-$final=[];而$row=mysqli\u fetch\u assoc$result{$final[$row['Vehicle\u id']][=$row;}echo json\u encode$final;。很抱歉,我忘了提到我正在使用CodeIgniter。如何在CodeIgnitery中做到这一点我们的解决方案是针对定制php的,但我使用的是ci框架。请检查代码并帮助我。请添加当前代码的输出。不转储$数据;$data=$this->location\u modal->get\u location之后;展示你得到了什么。也可以添加您需要的作为最终输出。我在Codeigniter中执行此操作,请务必解释。数组的赋值工作原理相同,Codeigniter与否。在当前代码中,foreach被注释掉,返回值为$data。你能把循环注释回并把返回值改为$final吗?那么输出的json是什么?