2013-05-06 30 views
0

我有下面的代碼,我不確定最好的方式來修改它,以便它顯示數據庫中最後一個輸入的行。Codeigniter MYSQL返回最近的行

user_date列顯示如下:2010-05-06 12:37:28

控制器:

$result = $this->shared_model->GetJustJoinedUser(); 
    $data['just_joined_user'] = $result->row_array(); 

型號:

function GetJustJoinedUser() 
{ 
    $query = $this->db->query("SELECT * 
           FROM {$this->_table['users']} user 
           WHERE user_description != '' AND user_image != '' AND (user_twitter != '' OR user_youtube != '' OR user_vimeo!= '') 
           ORDER BY user_date DESC 
           LIMIT 1"); 

    return $query; 
} 
+0

你有沒有試過'$ this-> db-> last_query()'? – 2013-05-06 00:31:09

+0

@PawCabelin是和由於某種原因,它導致我得到一個500錯誤 – 2013-05-06 00:39:14

+0

試試我的答案也許它可以幫助 – 2013-05-06 00:47:41

回答

1

你的查詢已經得到最後插入的行,但在WHERE語句中有一些限制。

如果你想真正的最後一排,剛剝離WHERE語句是這樣的:

$query = $this->db->query("SELECT * FROM {$this->_table['users']} user ORDER BY user_date DESC LIMIT 1"); 

你似乎並不很瞭解的SQL查詢,所以我建議你閱讀關於它的一些政黨成員。

0

我不知道這是否能解決你的問題但你可以嘗試這樣的事情。

$last_id = $this->db->insert_id();

然後使用這個$last_id查詢您的最後插入的用戶。我希望這可以幫助

$this->db->insert_id() 檢索前一個查詢(通常是INSERT)爲AUTO_INCREMENT列生成的ID。

UPDATE

$last_id = $this->db->insert_id(); 

$this->db->where('id', $last_id); 
$query = $this->db->get('users'); 
if($query) 
{ 
    $query = $query->result_array(); 
    //$query here contains the details of the last inserted user 
} 

我只是展示瞭如何獲得最後用戶插入的想法。我希望這能幫助你

+0

你能否給我一個完整的例子來嘗試它仍然垂死 – 2013-05-06 00:50:53

+0

@JessMcKenzie你能告訴我你真的想在這裏做什麼嗎?你只想顯示最後插入的行? – 2013-05-06 00:51:41

+0

更正我正在嘗試修復的代碼應該顯示加入的最後一個用戶=最後一位用戶進入db – 2013-05-06 00:54:29