该表将一列中的数据显示在codeigniter中的数据行中?
有人请帮助我,我用mvp程序使用CodeIgniter。我有一个这样的数据库:该表将一列中的数据显示在codeigniter中的数据行中?
是可能的,如果我想在这样的表视图中显示的数据?
在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
}
?>
您模型函数应该是这样的
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);
}
谢谢先生。 @Malik,我会试试这个;) – khoirul
亲爱的先生。 @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
如果您需要长时间的讨论。请加入聊天http://chat.stackoverflow.com/rooms/11/php与我 –
为什么不,你的观点是基于你从你的数据库中得到的。你只需要创建一个查询来从你的数据库表中获取所需的索引。 –
是您的视图中的日期是静态还是动态? –
@georoot当我必须在不同日期时循环id_status时,我感到困惑。帮我 – khoirul