0

Codeigniter の Session クラスを使用して、セッション値をデータベースに保存しています。フィールド内にuserdataは、ユーザーのユーザー名とその他の値が含まれています。

>= 5分とusernameしましょう。userdatalastactivity

これを達成するために私が考えることができる唯一の方法は次のとおりです。

  • 過去 5 分間にアクティブだったユーザーを検索する
  • 返された各行のユーザーデータを取得します
  • ユーザーデータのシリアル化を解除します
  • ユーザー名を抽出する

しかし、これは長い道のりのようです。これを行うためのよりクリーンな/より良い方法はありますか?

4

1 に答える 1

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']; 
}

結果配列から、必要な情報を取得できます。

于 2013-02-16T07:30:04.983 に答える