неопределенная переменная в foreach в codeigniter - PullRequest
0 голосов
/ 05 июня 2018

все, что я новичок в 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

Я не понял, где я совершил ошибку

Может кто-нибудь помочь мне

Как решить эту проблему.

Заранее спасибо.

1 Ответ

0 голосов
/ 05 июня 2018

Вам необходимо добавить userlogs данные в editUser методе контроллера.попробуйте ниже код

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');
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...