答案 0 :(得分:0)
在users表上,您可以创建一个名为online
的列Name Type Length / Val
online tinyint 1
然后当用户登录时。将该用户在线列更新为
1
然后在模型函数
上public function countOnline() {
$this->db->where('online', '1');
$query = $this->db->get('users');
return $query->num_rows();
}
用户退出时您需要将该用户在线列设置为
0
模型
文件名:Users_model.php
<?php
class Users_model extends CI_Model {
public function __construct() {
parent::__construct();
}
public function countOnline() {
$this->db->where('online', '1');
$query = $this->db->get('users');
return $query->num_rows();
}
}
控制器
文件名:Dashboard.php
<?php
class Dashboard extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('users_model');
}
public function index() {
$data['online_users'] = $this->users_model->countOnline();
$this->load->view('header');
$this->load->view('dashboard', $data);
$this->load->view('footer');
}
}
要在线查看新用户,每次要在线查看新用户时都必须重新加载页面。
有些脚本可以每隔几分钟重新加载特定的div。
希望这会给你一个想法
答案 1 :(得分:0)
首先这是控制器,所以把这个代码放在你的控制器函数中, 比放在模型文件中的模型功能代码。
<?php
//controller function
function total_user()
{
/*load your model*/
$data=$this->model_name->total_users_number();
echo $data;
}
//model function
function total_users_number()
{
/*query*/
$sql = "SELECT COUNT(*)
FROM `users` where user_status='online' // here your table name
$query = $this->db->query($sql);
return $query->num_rows();
}
?>