select * from table where id = select code iditer中的max id

时间:2017-04-29 05:02:06

标签: php codeigniter codeigniter-3

如何获取表中id = last id的数据并显示所有值而不是一个值?

我有表名= tb_invoice和3列(id,month,year) 如何在codeigniter中获取最后一个ID并显示结果(id,month,year)? 在这里我的代码:

    $this->db->select_max('id');
    $query  = $this->db->get('tb_invoice');
    return  = $query->row_array();

结果只显示id,如何显示所有值(id,month,year)?

4 个答案:

答案 0 :(得分:2)

试试这个

$this->db->select('id, month, year')->order_by('id','desc')->limit(1)->get('tb_invoice')->row('id');

答案 1 :(得分:0)

尝试使用insert_id。

$this->db->insert_id();
$query  = $this->db->get('tb_invoice');
return  = $query->row_array();

或者您可以使用

$this->db->select_max('{primary key}');
$query  = $this->db->get('tb_invoice');
return  = $query->row_array();

答案 2 :(得分:0)

请试试这个:

$maxid = $this->db->query('SELECT MAX(id) AS `maxid` FROM `tb_invoice`')->row()->maxid;

更新

即使你的桌子是空的(不像我上面的例子),这也会有效:

$maxid = 0;
$row = $this->db->query('SELECT MAX(id) AS `maxid` FROM `tb_invoice`')->row();
if ($row) {
    $maxid = $row->maxid; 
}

答案 3 :(得分:0)

感谢@Sunny Khatri的代码, 这是有效的:

$this->db->limit(1);
$this->db->order_by('id', 'DESC');
$query  = $this->db->get('tb_invoice');
return $query->row_array();