2017-02-13 10 views
0

im a begginer в программировании. Я хочу просто проверить значение моего int в SQL и сохранить его в переменной. Это не проблема, когда это один результат. Но когда у меня есть два результата, у меня проблемы. Мне жаль мой хаотический английский. Надеюсь, вы меня понялиРезультаты множественного запроса 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 запроса, чтобы проверить, является ли пользователь администратором. Просто проверьте результаты из одной строки вы выбрали:

$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/0 к истинному/лжи:

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

Спасибо. для вашей помощи. Кажется, это нормально – Adi212

+0

Примите решение и ответьте, если он решил вашу проблему в вашем первом вопросе. Вместо того, чтобы добавлять ответ с совершенно другим вопросом, я предлагаю вам создать новый вопрос для вашей проблемы с меню/сеансом. Это не имеет никакого отношения к исходному вопросу. –