簡體   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