我有一个带有2个字段的表(tb_proxmox)(proxmox_id,proxmox_data)。我在 proxmox_data 字段中的记录(此虚拟记录)
{"ip0_proxmox":"31231","ip1_proxmox":"31312313","ip2_proxmox":"","nama_proxmox":"31","port_proxmox":"3131","user_proxmox":"","pwd_proxmox":"","type_proxmox":"","ram_proxmox":"","storage_proxmox":""}
我的控制器中的功能
$data = array(
'ambil_data' => $this->M_proxmox->tampilData('tb_proxmox'),
);
我的模型中的功能(M_proxmox)
public function tampilData($table){
return $this->db->get($table)->result();
}
在我的视图中
<tbody>
<?php
$no = 1;
foreach ($ambil_data as $row) {
$datas = json_decode($row->proxmox_data,true);
foreach($datas as $datum){
?>
<tr>
<td><?php echo $no++ ;?></td>
<td><?php echo $row->proxmox_id; ?></td>
<td><?php echo $datum['ip1_proxmox'];?></td>
<td><a href="#" class="fa fa-pencil"></a><a href="#" class="fa fa-remove"></a></td>
</tr>
</tbody>
<?php
}
}
?>
我收到了这个错误 非法字符串偏移&#39; ip1_proxmox&#39;
答案 0 :(得分:0)
您已收到此错误,因为您正在迭代已解码的json,$datum
变量仅包含值,而不包含键。
如果你想以这种方式从json获取数据,你必须改变你的观点:
<tbody>
<?php
$no = 1;
foreach ($ambil_data as $row) {
$datas = json_decode($row->proxmox_data,true);
?>
<tr>
<td><?php echo $no++ ;?></td>
<td><?php echo $row->proxmox_id; ?></td>
<td><?php echo $datas['ip1_proxmox'];?></td>
<td><a href="#" class="fa fa-pencil"></a><a href="#" class="fa fa-remove"></a></td>
</tr>
<?php
}
?>
</tbody>
我还将</tbody>
移到了foreach之外。