例如,我数以显示连接的管理员和连接的用户
数据库
在用户中我添加表:[status] [int] [1]
在用户中我也有:[角色] [varchar] [255]
在登录验证()中将 statut 更新为 1(onligne)
if($this->model_users->can_log_in($email,$pass)){
$update = array('status' => 1);
$this->model_users->update_onligne($email,$update);
redirect('main/members');
和模型:
public function update_onligne($email,$update){
$this->db->where('email',$email);
$this->db->update('users',$update);
return true;
}
在注销()中将状态更新为离线
注销控制器:
public function logout(){
$id = $this->session->userdata('id');
$update = array('status' =>0);
$this->model_users->logout($id,$update);
$this->session->sess_destroy();
redirect('main/login');
}
注销模型:
public function logout($id,$update){
$this->db->where('id',$id);
$this->db->update('users', $update);
return;
}
在线计数:
控制器:
$data['admin_onligne'] = $this->model_users->count_onligne_admin();
$data['user_onligne'] = $this->model_users->count_onligne_users();
$this->load->view('template/page_left',$data);
该模型 :
public function count_onligne_admin(){
$query = $this->db->query('SELECT COUNT(status) AS enligneadmin FROM users WHERE status=1 AND role="admin"')->row_object();
return $query->enligneadmin;
}
public function count_onligne_users(){
$query = $this->db->query('SELECT COUNT(status) AS enligneuser FROM users WHERE status=1 AND role="etudiant"')->row_object();
return $query->enligneuser;
}
观众
<span><?php echo $user_onligne ;?> User en ligne</span>
<span><?php echo $admin_onligne ;?> Admin en ligne</span>