【问题标题】:How to access array values in codeigniter's session table's user_data column?如何访问 codeigniter 会话表 userdata 列中的数组值?
【发布时间】:2011-11-30 04:58:19
【问题描述】:

如何在 CodeIgniter 中访问 c​​odeigniter 的 ci_sessions 表的“user_data”列中的值。

我在会话中添加了用户名、用户角色。我必须显示所有活跃用户的名称和他们的角色。

【问题讨论】:

    标签: php mysql database codeigniter session


    【解决方案1】:

    我会这样做:

    $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、打印其内容等。

    【讨论】:

      【解决方案2】:

      我得到了解决方案:

      查看文件名为“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;
          }
      

      【讨论】:

        猜你喜欢
        • 2015-06-02
        • 2015-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-15
        相关资源
        最近更新 更多