2016-08-09 7 views

Antwort

0

Auf der Benutzer-Tabelle eine Spalte Online genannt schaffen könnte

Name Type  Length/Val 
online tinyint  1 

dann, wenn der Benutzer-Logins in. Aktualisieren, die Benutzer Online Spalte 1

Dann auf die Modellfunktion

Wenn der Benutzer abmeldet. Sie müssen diesen Benutzer Online-Spalte zu 0

Modell

Dateiname festlegen:

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

-Controller

Dateiname: 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'); 
} 

} 

T Wenn Sie neue Benutzer online sehen möchten, müssen Sie die Seite jedes Mal neu laden, wenn Sie neue Benutzer online sehen möchten.

Es gibt Skripte, die alle paar Minuten spezifische divs laden können.

Hoffnung, das gibt Ihnen eine Idee

+0

Vielen Dank für Ihre Antwort.Es gibt keine andere Weise denke ich =) –

+0

Das ist der einzige einfach schnelle Weg, den ich mir vorstellen kann. – user4419336

+0

Gut. Ich werde es versuchen. Dude –

0

Zunächst ist dieser Controller, so hier, um diesen Code in Ihrer Controller-Funktion setzen, als Codemodellfunktion in Ihrer Modelldatei setzen.

<?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

Das sagt nicht, wie viele online sind, zeigt nur die Gesamtzahl der Benutzer. Wie er sagte, möchte er sehen können, wie viele Benutzer online sind. – user4419336

+0

Ja, gute Idee. Aber ich möchte, dass der Benutzer die Gäste nicht sieht. –

Verwandte Themen