【发布时间】:2011-11-30 04:58:19
【问题描述】:
如何在 CodeIgniter 中访问 codeigniter 的 ci_sessions 表的“user_data”列中的值。
我在会话中添加了用户名、用户角色。我必须显示所有活跃用户的名称和他们的角色。
【问题讨论】:
标签: php mysql database codeigniter session
如何在 CodeIgniter 中访问 codeigniter 的 ci_sessions 表的“user_data”列中的值。
我在会话中添加了用户名、用户角色。我必须显示所有活跃用户的名称和他们的角色。
【问题讨论】:
标签: php mysql database codeigniter session
我会这样做:
$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_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;
}
【讨论】: