【问题标题】: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();
          

          【讨论】:

            猜你喜欢
            • 2011-04-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-11-29
            相关资源
            最近更新 更多