2017-03-03 89 views
3
不行

我有功能的foreach问题,所得到的数据没有显示如下表名像所有的foreach功能上笨

数据形式的数据库是“view_kebutuhan_perjal”: enter image description here 代码在型号

function getPerjal() 
    { 
     $query=$this->db->query("SELECT * from view_kebutuhan_perjal"); 
     return $query; 
    } 

代码在控制器:

$Kebutuhan=$this->M_Kebutuhan_Perjal->getPerjal(); 
foreach ($Kebutuhan->result() as $row) { 
     $hasil=array(
      $row->id_perjal, 
      $row->jenis_perjal, 
      $row->ruas_jalan, 
      $row->lokasi_km, 
      $row->letak, 
      $row->kondisi, 
      $row->tahun, 
      $row->tahunRPJMD, 
      ); 
    } 

    $data=array(
     'data'=> [$hasil], 
    ); 

    $this->output 
    ->set_status_header(201) 
    ->set_content_type('application/json', 'utf-8') 
    ->set_output(json_encode($data, JSON_PRETTY_PRINT)) 
    ->_display(); 
    exit; 

,反而会导致数据就像波纹管一条记录: -

enter image description here

回答

2

您是一次又一次在写作里面foreach()循环$hasil变量。这就是为什么只有一个价值即将到来。像下面这样: -

$hasil = array(); // create array variable 
foreach ($Kebutuhan->result() as $row) { 
     $hasil[]=array(
      $row->id_perjal, 
      $row->jenis_perjal, 
      $row->ruas_jalan, 
      $row->lokasi_km, 
      $row->letak, 
      $row->kondisi, 
      $row->tahun, 
      $row->tahunRPJMD, 
      ); // assign data to array variable 
    } 
$data=array(
    'data'=> [$hasil], 
);