繁体   English   中英

Codeigniter中foreach中的未定义变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM