[英]undefined variable in foreach in codeigniter
我是CodeIgniter的新手。 我试图显示数据库中特定用户的用户日志。 我不知道发生了什么事情,它引发了一个错误,如未定义的变量。
如果单击特定的用户编辑按钮,则会在仪表板上显示用户列表,它将带我到另一个页面,尝试显示该用户日志,但有些时候它无法正常工作。
控制器:
public function userlogs() {
if ($this->input->post('temp_user_id')) {
$id = $this->input->post('temp_user_id');
$this->session->set_userdata('temp_user_id', $id);
} elseif ($this->session->userdata('temp_user_id')) {
$id = $this->session->userdata('temp_user_id');
}
if ($this->session->userdata('is_logged') && $id) {
$data['userlogs'] = $this->Org_model->getLogs($id);
$this->load->view('template/header');
$this->load->view("organisation/user_edit", $data);
$this->load->view('template/footer');
} else {
$this->session->set_flashdata('error', 'User Id not captured.');
redirect('Organisation/editOrg');
}
}
控制器1:
public function editUser() {
if ($this->input->post('temp_user_id')) {
$id = $this->input->post('temp_user_id');
$this->session->set_userdata('temp_user_id', $id);
} elseif ($this->session->userdata('temp_user_id')) {
$id = $this->session->userdata('temp_user_id');
}
if ($this->session->userdata('is_logged') && $id) {
$data['userdata'] = $this->Org_model->getUsersData($id);
$this->load->view('template/header');
$this->load->view("organisation/user_edit", $data);
$this->load->view('template/footer');
} else {
$this->session->set_flashdata('error', 'User Id not captured.');
redirect('Organisation/editOrg');
}
}
模型:
function getLogs($id) {
$this->db->select('*');
$this->db->from('log_table');
$this->db->where('userid',$id );
if ($query = $this->db->get()) {
return $query->result_array();
} else {
return false;
}
}
视图:
table class="table table-striped table-bordered table-hover" id="dataTable">
<thead>
<tr>
<th>Username</th>
<th>Event</th>
<th>Date / Time</th>
<th>IP Address</th>
</tr>
</thead>
<tbody>
<!-- Displaying Fetched Details from Database -->
<?php
foreach ($userlogs as $userlog) {
$timestamp = $userlog->entertime;
echo $timestamp;
?>
<tr>
<td><?php echo $userlog->userid; ?></td>
<td><?php echo $userlog->log_operation; ?></td>
<td><?php
$format = 'DATE_RFC822';
echo standard_date($format, $timestamp);
?></td>
<td><?php echo $userlog->ip; ?></td>
</tr>
<?php
}
?>
</tbody>
</table>
但是它会抛出Undefined variable: userlogs
类的错误Undefined variable: userlogs
我不明白我在哪里犯错
谁能帮我
如何解决该问题。
提前致谢。
您需要在editUser
控制器方法中添加userlogs
数据。 尝试下面的代码
public function editUser() {
if ($this->input->post('temp_user_id')) {
$id = $this->input->post('temp_user_id');
$this->session->set_userdata('temp_user_id', $id);
} elseif ($this->session->userdata('temp_user_id')) {
$id = $this->session->userdata('temp_user_id');
}
if ($this->session->userdata('is_logged') && $id) {
$data['userlogs'] = $this->Org_model->getLogs($id);
$data['userdata'] = $this->Org_model->getUsersData($id);
$this->load->view('template/header');
$this->load->view("organisation/user_edit", $data);
$this->load->view('template/footer');
} else {
$this->session->set_flashdata('error', 'User Id not captured.');
redirect('Organisation/editOrg');
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.