簡體   English   中英

如何防止在會員列表中顯示登錄用戶?

[英]How to prevent showing logged in user in member list?

我有按“ a”和“ m”分類的管理員列表和成員列表。 現在,我在不同選項卡中顯示管理員列表和成員列表。 現在的問題是,如果用戶在成員列表中並且已登錄,則其名稱不應顯示在成員列表中。

這是控制器:

public function view_customer(){
 $data = json_decode(file_get_contents('php://input'));

    $customers=$this->um->view_customers();
     header("Content-Type: application/json; charset=UTF-8");
     echo json_encode($customers);
}

這是模型:

    public function view_customers(){
    $this->db->select('reg_id,reg_name,email,user_type,pic_url,id,name,cover_image,restaurant_id');
    $this->db->from('registration');
    $this->db->where('user_type','m');
$this->db->join('rest_restaurant_master','registration.restaurant_id=rest_restaurant_master.id','inner');
    $query=$this->db->get()->result_array();
    return $query;
}

基本上,您需要一個既包含在表中又與用戶相關的變量。 我假設您有一個名為id的會話變量,該會話變量名為user_id

添加到view_customers

$this->db->where_not_in('id', $this->session->user_id);

或(更輕松):

$this->db->where('id !=', $this->session->user_id);

這樣,您的數組將包含僅在m中的用戶,而不是活動用戶。

設置會話時(登錄時)

$newdata = array(
    'id'        => 3, # id is database user recorded id
    'username'  => 'johndoe',
    'email'     => 'johndoe@some-site.com',
    'logged_in' => TRUE
);

$this->session->set_userdata($newdata);

然后在所有方法中您都可以調用

$loggedUser = $this->session->id; # or $this->session->userdata('id');

$this->db->where_not_in('id', $loggedUser);

閱讀此會話庫課程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM