2013-05-06 57 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