Php 根据登录用户筛选数据库值

Php 根据登录用户筛选数据库值,php,mysql,codeigniter,session,Php,Mysql,Codeigniter,Session,在我的应用程序中,我想根据用户筛选数据(不是针对用户级别)。例如,我有一个用户,当他们登录到系统时,我想查看他们自己的数据。我如何使用codeigniter做到这一点。我还在login controller中创建了一个会话。还有海斯特。现在我想过滤来自另一个控制器的数据。可能吗 这里是登录控制器中会话的代码 public function user_login_process() { $this->form_validation->set_rules('email', 'Emai

在我的应用程序中,我想根据用户筛选数据(不是针对用户级别)。例如,我有一个用户,当他们登录到系统时,我想查看他们自己的数据。我如何使用codeigniter做到这一点。我还在login controller中创建了一个会话。还有海斯特。现在我想过滤来自另一个控制器的数据。可能吗

这里是登录控制器中会话的代码

 public function user_login_process() {

$this->form_validation->set_rules('email', 'Email', 'trim|required|xss_clean');
$this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean');

if ($this->form_validation->run() == FALSE) {
if(isset($this->session->userdata['logged_in'])){
//$this->load->view('admin_page');
    $this->home();
}else{
$this->load->view('user_site/login_form');
}
} else {
$data = array(
'email' => $this->input->post('email'),
'password' => $this->input->post('password')
);
$result = $this->login_database->login($data);
if ($result == TRUE) {

$email = $this->input->post('email');
$result = $this->login_database->read_user_information($email);
if ($result != false) {
$session_data = array(
'firstname' => $result[0]->firstname,
'email' => $result[0]->email,
    'id' => $result[0]->id,
);
// Add user data in session
$this->session->set_userdata('logged_in', $session_data);
//$this->load->view('index');
//                    $this->home();
                    $this->load->view("user_include/header");
                    $this->load->view('user_site/index');
}
} else {
$data = array(
'error_message' => 'Invalid Username or Password'
);
$this->load->view('user_site/login_form', $data);
}
}
}
function get_book(){
  $this->db->select("book.id,book.title");
  $this->db->where("user_id = $id");
  $this->db->from('book');
  $query = $this->db->get();
  return $query->result();
}
    public function index(){ 
$data['post'] = $this->floor_model->get_book(); 
 $this->load->view('user_include/header');
 $this->load->view('plan/floor',$data); }
这是标题

    <?php
if (isset($this->session->userdata['logged_in'])) {
$firstname = ($this->session->userdata['logged_in']['firstname']);
$email = ($this->session->userdata['logged_in']['email']);
$id = ($this->session->userdata['logged_in']['id']);
} else {
header("location: login");
}
当我使用上面的代码过滤数据时,它显示了一个

错误:未定义变量:id

这是我的视图代码

<?php foreach($post as $post){?>
 <tr>

     <td><?php echo $post->id ; echo '&nbsp; &nbsp;';?></td>
     <td><?php echo $post->title ; echo '&nbsp; &nbsp;';?></td>
 </tr>  
 <?php }

 ?>  

id
存储在会话变量中。为了得到你用过的这个

  $id = $this->session->userdata['logged_in']['id'];
模型


id
存储在会话变量中。为了得到你用过的这个

  $id = $this->session->userdata['logged_in']['id'];
模型


当我使用您的代码时,它显示名为“为foreach()提供的参数无效”的错误,之前的错误已修复,请帮助我修复它。您必须告诉我们从控制器调用
get_book
函数的位置以及
foreach
的使用位置。是的,问题已解决。这是我的控制器**公共功能索引(){$data['post']=$this->floor_model->get_book();//$this->load->view('user_include/header');$this->load->view('plan/floor',$data);}**请为此写一个新问题,并附上代码和错误。不要把你的代码贴在注释里,也不要让它看不懂。将这个问题转化为更新的答案,并确保您在Consrtuctor中调用模型文件。当我使用您的代码时,它显示了一个名为“为foreach()提供的参数无效”的错误之前的错误已经修复,请帮助我修复。您必须告诉我们您在哪里调用控制器的
get_book
函数,以及在哪里使用
foreach
循环。是的,问题已经解决。这是我的控制器**公共功能索引(){$data['post']=$this->floor_model->get_book();//$this->load->view('user_include/header');$this->load->view('plan/floor',$data);}**请为此写一个新问题,并附上代码和错误。不要把你的代码贴在注释里,也不要让它看不懂。为了尝试更新答案,请回答这个问题,并确保您在consrtuctor中调用了模型文件