2011-11-30 57 views

回答

3

這是我會怎麼做:

$query = $this->db->select('user_data')->get('ci_sessions'); 

$user = array(); /* array to store the user data we fetch */ 

foreach ($query->result() as $row) 
{ 
    $udata = unserialize($row->user_data); 

    /* put data in array using username as key */ 
    $user[$udata['user_name']] = $udata['user_role']; 
} 

然後,您可以遍歷$用戶,打印其內容等

1

我得到了解決辦法:

視圖文件名是「 admin_active_users.php「和 $ data顯示整個信息。

呼叫控制器功能:ACTIVE_USERS()

function active_users() { 
     $this->load->model('admin_model'); 
     $query =$this->admin_model->get_active_users(); 
     $num_row=$query->num_rows(); 
     $result=$query->result(); 
     $str="<br/><b>$num_row</b> Users are active at this time<br/>"; 
     $str.="<table border=1 cellpadding=2><tr><td>User Name</td><td>User Role</td><td>IP Address</td><td>Last Activity</td></tr>"; 
     foreach ($result as $row) { 
      $user_data=$row->user_data; 
      $final = array(); 
      $str.="<tr>"; 
      foreach (unserialize($user_data) as $k => $v) { 
       $final[] = array('key' => $k, 'value' => $v); 
       if($k=='username') { 
        $str.="<td>$v</td>"; 
       } 
       if($k=='user_role') { 
        $str.="<td>$v</td>"; 
       } 

      } 
     $str=$str."<td>$row->ip_address</td><td>".date('d/m/y : H:i:s',$row->last_activity)."</td></tr>"; 
    } 
    $str=$str."</table>"; 
    $data['users']=$str; 
    $this->load->view('admin_active_users',$data); 
} 

在模型函數:get_active_users()

function get_active_users() { 
     $this->db->where("user_data <>",""); 
     $query = $this->db->get('re_ci_sessions'); 
     return $query; 
    }