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

Php 该表在codeigniter?中的数据行中显示一列数据?,php,codeigniter,Php,Codeigniter,有人请帮助我,我用的是带mvp的CodeIgniter程序。我有这样一个数据库: 如果我想在这样的表视图中显示数据,是否可能 我只能在某个日期向您显示,当在另一个日期id\u状态检索数据时,一切都不工作 控制器时,只有一个日期 public function status() { $tanggal1 = '2017-03-28'; $data['status'] = $this->M_Reports->status($tanggal1); $this-&g

有人请帮助我,我用的是带mvp的CodeIgniter程序。我有这样一个数据库:

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

我只能在某个日期向您显示,当在另一个日期id\u状态检索数据时,一切都不工作

控制器时,只有一个日期

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

您的模型函数应该是这样的

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($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;
}


为什么不呢,您的视图基于您从数据库中获得的内容。您只需创建一个查询即可从db表中获取所需的索引。视图中的日期是静态的还是动态的?@georoot当我必须在不同日期时循环id_状态时,我感到困惑。帮助me@MalikMudassar我希望日期将是动态的,我将在查询中使用between to long来撰写答案,让我试试为什么不,您的观点是基于您从数据库中获得的信息。您只需创建一个查询即可从db表中获取所需的索引。视图中的日期是静态的还是动态的?@georoot当我必须在不同日期时循环id_状态时,我感到困惑。帮助me@MalikMudassar我希望日期将是动态的,我将使用QueryTo long中的between来撰写答案,让我试试看@Malik先生,我会试试这个;)亲爱的@Malik Mudassar先生,我在第$st=$this->db->select('id_peralatan')->from('operasional')->WHERE('id_peralatan',$patients[$I])->get()->result_array()行出现错误;因为$Patients仍然是数组,所以如果需要长时间讨论,请从
operasional
中选择
id\u peralatan
=
array
这样的错误。请加入mesorry先生的聊天@malik我不能在聊天中写coment,因为我没有20个声誉谢谢@malik先生,我会试试这个;)亲爱的@Malik Mudassar先生,我在第$st=$this->db->select('id_peralatan')->from('operasional')->WHERE('id_peralatan',$patients[$I])->get()->result_array()行出现错误;因为$Patients仍然是数组,所以如果需要长时间讨论,请从
operasional
中选择
id\u peralatan
=
array
这样的错误。请加入mesorry先生的聊天@malik我不能在聊天中写coment,因为我没有20个名声