2017-02-13 5 views
0

にあり、プログラミングの初心者です。私はintでSQLの値をチェックし、変数に保存したいだけです。それが1つの結果であるとき、それは問題ではない。しかし、それが2つの結果になると、私は問題を抱えています。私の混沌とし​​た英語を申し訳ありません。Codeigniterの複数のクエリー結果は、セッション

$this->db->where('login', $login); 
    $this->db->where('password', $password); 
    $result = $this->db->get('users'); 
    $this->db->where('admin', 1);  // I want to get users who have admin as "1" 
    $admin = $this->db->get('users'); // Admin result ??? 

    if($result->num_rows() > 0) 
    { 

     $user = array(
      'username' => md5($login), 
      'logged_in' => true, 
      // Now i don't know how to check admin var is equal to 1. If 1 i want to add something like this: 
      'admin' => true 
     ); 

     $this->session->set_userdata($user); 
     return true; 
    } 

答えて

0

ユーザーが管理者であるかどうかを確認するために2つのクエリを実行する必要はありません。あなたは真/偽に1/0を変換する必要がある場合

$this->db->where('login', $login); 
    $this->db->where('password', $password); 
    $query = $this->db->get('users'); 

    $row = $query->row(); 

    if (isset($row)) { 
     $user = array(
     'username' => md5($login), 
     'logged_in' => true, 
     'admin' => $row->admin //IF YOU HAVE 1 = ADMIN IN YOUR TABLE? 
    ); 

     $this->session->set_userdata($user); 
     return true; 
    } 

オルタナティブ:ちょうどあなたが選択された1行の結果を確認し

if (isset($row)) { 
    $admin = ($row->admin == 1) ? true : false; // IF DB HAS INTEGER 1 
    $user = array(
    'username' => md5($login), 
    'logged_in' => true, 
    'admin' => $admin 
); 

    $this->session->set_userdata($user); 
    return true; 
} 
+0

感謝を。あなたの助けに。 okと思われる – Adi212

+0

あなたの最初の質問であなたの問題を解決したら、答えとupvoteを受け入れてください。全く異なる質問の回答を追加するのではなく、メニュー/セッションの問題について新しい質問を作成することをお勧めします。元の質問とは何の関係もありません。 –

関連する問題