2012-12-05 80 views
0

目標:如果數據庫返回的數字1,然後將其重定向到設置頁面,如果返回2,其重定向設置2頁如果它返回0,那麼它會激活else語句PHP MVC操作比較

我有一直想這一點一段時間,但似乎仍然得到它的工作 我的控制器:

$user_id     = array('id'=>$this->loggedInUser->id); 
    $results     = $this->user_model->getUsersStage($user_id); 

    if($results == '1'){ 
    redirect('registration/setup'); 
    } 

我的模型:

function getUsersStage($conditions=array(),$fields='') 
{ 

    if(count($conditions)>0)   
     $this->db->where($conditions); 

    $this->db->from('users'); 

    if($fields!=''){ 
    $this->db->select($fields); 
    } 
    else{ 
    $this->db->select('stage'); 
    } 


    $result = $this->db->get(); 
    return $result; 


}//End of getUsersStage Function 

將是很好,如果你可以讓我知道哪裏出了問題,我試過很多比較法,像

if($results == 1){ 
Error : Object of class CI_DB_mysql_result could not be converted to int 
if(this->$results->stage == 1) 

只是爲了驗證,$this->loggedInUser正在和它發送正確的SQL語句模型。

+1

基本上你在做什麼。讓我們知道功能,以便我們可以看到你做錯了什麼。簡單解釋一下 –

+1

你試過'$ results-> result() - > stage'嗎? – Stanley

+0

@Stanley Yap,未定義的屬性:CI_DB_mysql_result :: $ stage – CodeGuru

回答

3

變化

if($results == '1'){ 
    redirect('registration/setup'); 
    } 

if($results->row()->stage == 1){ 
    redirect('registration/setup'); 
    } 
+1

@RainbowHat編輯我的回答 –

+0

我看到你是一個LAMP開發者,我試過bitnami,其中一個linux管理員告訴我說它不好,有什麼建議嗎?我使用的是亞馬遜ec2 :)我需要託管我的codeigniter php APP :) – CodeGuru

2

$this->db->get()返回結果集。

$query = $this->db->get('mytable'); 
// Produces: SELECT * FROM mytable 

如果你想檢查是否它返回的行或不是你可以檢查一些這樣的事

if(count($result->result())) { 

    // do stuff here 
}