我有下面的代码,我不确定修改它的最佳方法,以便它显示最后输入到数据库中的行。
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;
}
您的查询已经获得了最后插入的行,但在WHERE语句中有一些限制。
如果您想要真正的最后一行,只需像这样去掉WHERE语句:
$query = $this->db->query("SELECT * FROM {$this->_table['users']} user ORDER BY user_date DESC LIMIT 1");
你似乎不太了解SQL查询,所以我建议你读一些关于它的教程
我不确定这是否能解决你的问题,但你可以尝试这样做。
$last_id = $this->db->insert_id();
然后使用此$last_id
查询最后插入的用户。我希望这对你有帮助
$this->db->insert_id()
检索前一个查询(通常是INSERT)为AUTO_INCREMENT列生成的ID。
$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
}
我只是展示了如何获得最后一个用户插入的想法。我希望这对你有帮助