2016-05-29 53 views
-1

我正在開發一個簡單的配置文件頁面,但我有一個小問題將結果數組傳遞給控制器​​..不知道這是怎麼做到的。將結果數組傳遞給codeigniter中的控制器

型號:

class Login_model extends CI_Model{ 

function get_profile() 
{ 

    $this->db->where('email', $this->input->post('email')); 
    $query = $this->db->get('user'); 

    if($query->num_rows == 1) 
    { 
     return $query->result_array(); 
    } 

} 
} 

控制器:

  class Login extends CI_Controller { 
     function show_profile{ 
     $this->load->model('login_model'); 
     $q['user'] = $this->login_model->get_profile(); 
     echo $q['user']; 
     } 
     } 

我試圖呼應了$ Q [ '用戶']作爲一個測試,看看它是否會工作,但沒有奏效。

+0

如果沒有空的結果集是兩個對象是(在你的情況在這裏太)的數組傳遞給你的視圖頁面。 'echo'語言結構不能處理這些。用'var_dump($ q ['user'])'調試它。 – Tpojka

回答

0

在這種情況下,結果數組將是,如果你回來多一個結果。因爲你只找回一個結果,你可以做row_array()等等之類

if($query->num_rows == 1) 
{ 
    return $query->row_array(); 
} 
    else 
{ 
    return false; 
} 

永遠不要這樣做

// example of what NOT to do 
$this->db->where('email', $this->input->post('email'));// NO NO NO 

驗證電子郵件首先使用笨表單驗證,然後把它像

// if no user comes back then deal with it right away 
if(! $user = $this->login_model->get_profile($email)) 
{ 
    $this->showNoUserFor($email) ; 
} 
else 

{ // carry on.... 

否則 - 首先在笨手工做的教程,它會爲你節省大量的時間。

0

你不能回顯$ q ['user'],因爲它是一個數組。使用

`print_r($q['user']); exit; 

,您可以通過

`$this->load->view('yourViewPage',$q); 
相關問題