【问题标题】:select * from table where id = select max id in codeigniterselect * from table where id = select max id in codeigniter
【发布时间】:2017-09-27 06:22:53
【问题描述】:
如何获取表中 id = last id 的数据并显示所有值而不是一个值?
我有表名=tb_invoice 和 3 列(id、月、年)
如何在codeigniter中获取最后一个id并显示结果(id、月份、年份)?
这是我的代码:
$this->db->select_max('id');
$query = $this->db->get('tb_invoice');
return = $query->row_array();
结果只显示id,如何显示所有值(id、月、年)?
【问题讨论】:
标签:
php
codeigniter
codeigniter-3
【解决方案1】:
试试这个
$this->db->select('id, month, year')->order_by('id','desc')->limit(1)->get('tb_invoice')->row('id');
【解决方案2】:
尝试使用 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();
【解决方案3】:
请试试这个:
$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;
}
【解决方案4】:
感谢@Sunny Khatri 提供代码,
这是有效的:
$this->db->limit(1);
$this->db->order_by('id', 'DESC');
$query = $this->db->get('tb_invoice');
return $query->row_array();