Php 如何访问codeigniter会话表的user_数据列中的数组值?

Php 如何访问codeigniter会话表的user_数据列中的数组值?,php,mysql,database,codeigniter,session,Php,Mysql,Database,Codeigniter,Session,如何访问codeigniter中codeigniter的ci_会话表的user_数据列中的值 我在会话中添加了用户名、用户名和角色。我必须显示所有活动用户名及其角色。我将这样做: $query = $this->db->select('user_data')->get('ci_sessions'); $user = array(); /* array to store the user data we fetch */ foreach ($query->result(

如何访问codeigniter中codeigniter的ci_会话表的user_数据列中的值


我在会话中添加了用户名、用户名和角色。我必须显示所有活动用户名及其角色。

我将这样做:

$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']; 
}
然后,您可以迭代$user,打印其内容等。

我得到了一个解决方案:

视图文件名为admin\u active\u users.php和 $data正在显示整个信息

调用控制器功能:活动用户

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);
}
function get_active_users() {
        $this->db->where("user_data <>","");
        $query = $this->db->get('re_ci_sessions');
        return $query;
    }
在模型函数中:获取活动用户

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