2016-08-09 5 views

答えて

0

たときに、ユーザーのログインで、あなたはその後、オンライン

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(); 
} 

ユーザーがログアウトしたとき。 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'); 
} 

} 

あなたは0

モデル

ファイル名に、そのユーザーのオンライン列を設定する必要がありますT o新しいユーザーをオンラインで見ることができるたびに、新しいユーザーをオンラインで表示するたびにページをリロードする必要があります。

数分ごとに特定のdivをリロードできるスクリプトがあります。

希望は、これはあなたのアイデア

+0

あなたの答えをありがとうございます。私は=他の考え方はありません=) –

+0

それは私が考えることができる唯一の簡単かつ迅速な方法です。 – user4419336

+0

まあこれからお試しください。 Dude –

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(); 
} 
?> 
+0

それは単に多くのユーザーが表示されているオンラインであることを教えていません。彼が言ったように、彼はオンラインで何人のユーザーを見ることができるようにしたいと考えています。 – user4419336

+0

はい、いい考えです。しかし、私はユーザーがゲストを見ないようにしたい。 –

関連する問題