通过一些更改,我得到了错误,这在原始的PHP工作正常,但在codeigniter我试图得到这个result_array
一段时间(列表),但我不知道什么是替代对于codeigniter中的fetch_row
。请帮助我以while (list($d, $sn, $s) = each($IDS-))
行的方式解决这个问题。
型号:
public function raw_attendance_Data() {
$this->db->select('attnDate, TraineeID, Status');
$this->db->from('tbl_attendance');
$this->db->order_by('TraineeID');
$query = $this->db->get();
return $query->result_array();
}
控制器:
public function rawAttendance(){
$data['IDS'] = $this->AttendanceModel->raw_attendance_Data();
$this->load->view('attendance/rawAttendance', $data);
}
查看:
$curname='';
$tdata = '';
reset($IDS);
while (list($d, $sn, $s) = each($IDS)) {
if ($curname != $sn) {
if ($curname) {
$tdata .= "<tr><td>$curname</td><td>" . join('</td><td>', $rowdata). "</td></tr>\n";
}
$rowdata = $emptyRow;
$curname = $sn;
}
$rowdata[$d] = $s;
}
$tdata .= "<tr><td>$curname</td><td>" . join('</td><td>', $rowdata). "</td></tr>\n";
答案 0 :(得分:0)
$query->result_array();
返回一个数组,而不是一个对象。因此$IDS
中的$IDS->fetch_row()
是一个数组(非对象)。
我不明白,你在哪里获得函数fetch_row()
?
如果我理解你想要完成什么,那么这应该有用。
查看:
$tdata = '';
foreach($IDS as $row)
{
$curname = isset($row['TraineeID']) ? $row['TraineeID'] : "";
$date = isset($row['attnDate']) ? $row['attnDate'] : "";
$status = isset($row['Status']) ? $row['Status'] : "";
if(!empty($curname){
$tdata .= "<tr><td>$curname</td><td>$date</td><td>$status</td></tr>";
}
}