2012-06-27 13 views
0

我通過PHP腳本生成自動增量代碼。序列如下,L001,L002 .... L039,L040。以下是我寫的PHP代碼。評論顯示每個陳述的輸出。在數字前面顯示0

<?php 

require_once("db_handler.php"); 

$conn = iniCon(); 
$db = selectDB($conn); 

$query = "SELECT LID FROM locations ORDER BY LID DESC LIMIT 1"; 
$result = mysql_query($query, $conn); 
$row = mysql_fetch_array($result); 
$last_id = $row['LID']; //L040 

$id_letter = substr($last_id, 0, 1); //L 
$id_num = substr($last_id, 1) + 1; //040 + 1 
$new_id = $id_letter . $id_num; 

mysql_close($conn); 

?> 

我在HTML文本框中顯示$new_id。儘管到目前爲止一切正常,新生成的代碼顯示爲L41,切斷前導零。

我該如何阻止這種情況發生?我需要在前面有這個零。

謝謝。

回答

3

選其一str_padsprintf功能:

$id_num = str_pad($id_num, 3, "0", STR_PAD_LEFT); 

$id_num = sprintf("%03d", $id_num); 
2
$id_num = substr($last_id, 1) + 1; //40 + 1 

$id_num = str_pad($id_num, 3, "0", STR_PAD_LEFT); //return 041 

$new_id = $id_letter . $id_num;