繁体   English   中英

CodeIgniter显示最后一个id

[英]CodeIgniter display last id

我想将textbox的值显示为记录的最后一个id然后递增它。

这就是我所拥有的:

view.php

          <?php 
            $id = $this->db->insert_id();
            $newId = $id + 1;
            $data = array(
                    'name'        => 'customercode',
                    'id'          => 'inputCustomerCode',
                    'type'        => 'text',
                    'readonly'    => 'true',
                    'class'       => 'form-control',
                    'value'       => 'CUST0000' . $newId
            );
            echo form_input($data);
            ?>

但它只是显示CUST00001 我在这里做错了什么? 非常感谢和需要帮助。 谢谢。

而不是使用$id = $this->db->insert_id(); 您可以使用以下代码:

$query = $this->db->query("SELECT id FROM mytable ORDER BY id DESC LIMIT 1");
$id = $query->row()->id;

$newId = $id + 1;

$data = array(
   'name'        => 'customercode',
   'id'          => 'inputCustomerCode',
   'type'        => 'text',
   'readonly'    => 'true',
   'class'       => 'form-control',
   'value'       => 'CUST' . str_pad($id+1, 5, '0', STR_PAD_LEFT)
   );

echo form_input($data);

你可以用$this->db->insert_id();获得最后插入的id $this->db->insert_id(); 如果你想在多个地方使用它,请在变量中使用它并使用该变量。

你可以在插入查询后使用$this->db->insert_id()

$id = $this->db->insert_id();

您可以使用简单的查询来获取最大ID

$query = $this->db->query("SELECT MAX (id) FROM table");
$id = $query->row()->id;

并在表单中使用$ id

 'value'       => 'CUST0000' . $id + 1

代替

$this->db->insert_id()+1

你需要显示$newId 确保您已查询最后一个ID。 $this->db->insert_id()仅在插入一些记录时返回。 如果还没有,那么您需要查询以获取最后插入的ID。 您可以使用此简单查询。

SELECT id FROM mytable ORDER BY id DESC LIMIT 1

$这个- > DB-> INSERT_ID()

The insert ID number when performing database inserts.

查看http://ellislab.com/codeigniter/user_guide/database/helpers.html ,第一个函数是$this->db->insert_id();

这也适用于活动记录插页...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM