该表将一列中的数据显示在codeigniter中的数据行中?

该表将一列中的数据显示在codeigniter中的数据行中?

问题描述:

有人请帮助我,我用mvp程序使用CodeIgniter。我有一个这样的数据库:该表将一列中的数据显示在codeigniter中的数据行中?

enter image description here

是可能的,如果我想在这样的表视图中显示的数据?

enter image description here

在id_status一切都没有工作的另一日期检索数据时,我只能告诉你约会。

只有一个日期的控制器。

public function status() 
{ 
    $tanggal1 = '2017-03-28'; 
    $data['status'] = $this->M_Reports->status($tanggal1); 
    $this->load->view('homepage/template'); 
    $this->load->view('report/status', $data); 
} 

型号:

public function status($tanggal1) { 
     $sql = "SELECT operasional.id_ops, operasional.id_status, operasional.tanggal, peralatan.nm_peralatan FROM operasional INNER JOIN peralatan ON operasional.id_peralatan = peralatan.id_peralatan WHERE tanggal='$tanggal1' ORDER BY id_ops"; 
     return $this->db->query($sql)->result(); 
} 

,并查看:

<?php 
    $start = 0; 
    foreach($status as $data) { 
?> 
    <tr> 
    <td><?php echo ++$start ?> </td> 
    <td><?php echo $data->nm_peralatan ?></td> 
    <td><?php echo $data->id_status ?></td> 
    <td><?php echo $data->tanggal ?></td> 
    </tr> 
<?php 
    } 
?> 
+0

为什么不,你的观点是基于你从你的数据库中得到的。你只需要创建一个查询来从你的数据库表中获取所需的索引。 –

+0

是您的视图中的日期是静态还是动态? –

+0

@georoot当我必须在不同日期时循环id_status时,我感到困惑。帮我 – khoirul

您模型函数应该是这样的

public function status($top_of_date) 
{ 
    // This will get all dates 
    $dates=$this->db->distinct()->select('tanggal')->from('operasional')->get()->result_array(); 
    // This will get all patients/peralatan 
    $patients=$this->db->distinct()->select('id_peralatan')->from('operasional')->get()->result_array(); 
    // Loop through peralatan 
    for($i=0;$i<count($patients);$i++) 
    { 
     $st=$this->select('id_peralatan')->from('operasional')->WHERE('id_peralatan',$patients[$i])->get()->result_array(); 
     // Start Creating an array for this index 
     $data[$i]=array(
      'id_peralatan'=>$st[0] 
     ); 
     // loop through dates 
     for($j=0;$j<count($dates);$j++) 
     { 
      //if date is greater than top of date 
      if($dates[$i]>$top_of_date) 
      { 
       $st=$this->db->select('id_status')->from('operasional')->WHERE('tanggal',$dates[$i])->get()->result_array(); 
       // Create index and save the status 
       $data[$i]['top_of_date']=$st[0]['id_status']; 
      } 
      elseif($dates[$i]<$top_of_date) 
      { 
       $st=$this->db->select('id_status')->from('operasional')->WHERE('tanggal',$dates[$i])->get()->result_array(); 
       // Create index and save the status 
       $data[$i][$dates[$i]]=$st[0]['id_status']; 
      } 
     } 
    } 
    return $data; 
} 

现在从你的控制器,你只需要发送顶部的日期。喜欢;

public function status() 
{ 
    $tanggal_top = '2017-03-28'; 
    $data['status'] = $this->M_Reports->status($tanggal_top); 
    $this->load->view('homepage/template'); 
    $this->load->view('report/status', $data); 
} 
+0

谢谢先生。 @Malik,我会试试这个;) – khoirul

+0

亲爱的先生。 @Malik Mudassar,我从$('operasional') - > WHERE('id_peralatan',$ patients [$ i])有$ st = $ this-> db-> select('id_peralatan') - > >获得() - > result_array();因为$ patiensts仍然是数组,所以像这样的错误SELECT'id_peralatan' FROM'operasional' WHERE'id_peralatan' ='Array' – khoirul

+0

如果您需要长时间的讨论。请加入聊天http://chat.*.com/rooms/11/php与我 –