2017-05-03 103 views
0

我有一个带有2个字段(proxmox_id,proxmox_data)的表(tb_proxmox)。我在现场记录proxmox_data(这个伪记录)消息:非法字符串偏移量(使用codeigniter和mysql解码JSON)

{"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 
        } 
       } 
       ?> 

我得到这个错误 非法串偏移“ip1_proxmox”

回答

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。

+0

你是对的!谢谢。我从[接受的答案](http://stackoverflow.com/questions/7462250/php-json-decode-from-database)看到使用2 foreach –

相关问题