2017-07-21 3 views
0

データベースからforeachを使用して表示するデータを取得しようとしています。しかしwhere条件は機能しません。 iはtbl_cartにUSER_IDの値をチェックすることにより、テーブルtbl_cartからコンテンツを表示する必要がセッション・データuseridでの条件チェックがコード・シグニチャで機能していない場合

は、格納されたセッションデータIDにequlある

テーブルユーザー enter image description here

テーブル

tbl_cart enter image description here

ログインデータ(セッションデータ)は、私は$クエリは次のようになると思う私は

 public function login(){ 
     $data = array(); 
     if($this->session->userdata('success_msg')){ 
     $data['success_msg'] = $this->session->userdata('success_msg'); 
     $this->session->unset_userdata('success_msg'); 
    } 
    if($this->session->userdata('error_msg')){ 
     $data['error_msg'] = $this->session->userdata('error_msg'); 
     $this->session->unset_userdata('error_msg'); 
    } 
      if($this->input->post('loginSubmit')){ 
       $this->form_validation->set_rules('email', 'Email', 
       'required|valid_email'); 
       $this->form_validation->set_rules('password', 'password', 
       'required'); 
     if ($this->form_validation->run() == true) { 
      $con['returnType'] = 'single'; 
      $con['conditions'] = array(
       'email'=>$this->input->post('email'), 
       'password' => md5($this->input->post('password')), 
       'status' => '1' 
      ); 
      $checkLogin = $this->user->getRows($con); 
      if($checkLogin){ 
       $this->session->set_userdata('isUserLoggedIn',TRUE); 
       $this->session->set_userdata('userId',$checkLogin['id']); 
       $this->session- 
      >set_userdata('userName',$checkLogin['name']); 
       $this->session- 
      >set_userdata('UserEmail',$checkLogin['email']); 
       // redirect('users/account/'); 
       redirect('users/one/'); 

      }else{ 
       $data['error_msg'] = 'Wrong email or password, please try 
again.'; 
      } 
     } 

コントローラ

 public function oneusercart(){ 
     $data = array(); 
     if($this->session->userdata('isUserLoggedIn')){ 
     $data['user'] = $this->user->getRows(array('id'=>$this->session- 
     >userdata('userId'))); 
     //load the view 
     $id = $this->session->userdata('id'); 
     $query = $this->db->query('SELECT username,useremail FROM tbl_cart 
     where user_id= $this->user->getRows(array('id'=>$this->session- 
     >userdata('userId')))'); 


     $resultdata['results'] = $query->result_array(); 


    $this->load->view('one/home_comman_page/head'); 
    $this->load->view('one/usercart', $resultdata); 
    $this->load->view('one/home_comman_page/footer'); 
    $this->load->view('one/home_comman_page/script'); 
    }else{ 

     redirect('users/login'); 
    } 
    }  
+0

関数 'oneuserca rt' - ネストされた一重引用符で引用符の問題があるように見える – RamRaider

+0

あなたは説明していただけますか? – EjM

+0

PHP変数は一重引用符で評価されません。つまり、SQLは実際にPHPから何かを取り出していますが、 '$ this-> user-> getRows(array( 'id' => $ this-> session->文字列として – RamRaider

答えて

2

セッションを設定する方法を知るにはこちらをご覧ください、これを試してみてください

$query = $this->db->query('SELECT username,useremail FROM tbl_cart 
    where user_id= '.$this->session->userdata('userId')); 
+0

ありがとうございました。 – EjM

+0

大歓迎... – user7596840

+0

tbl_cartの特定の行でステータスを0に変更できますか? – EjM

関連する問題