在我的php代码中,插入新记录时,发票号应为0001。在这里,我想添加字符/一个字(例如“光学”),并且应该像optical0001
。如何在号码前加上这个?
$query = "select * from cust_report_invoices order by invoiceID desc limit 1";
$result = $link->query($query);
$row = $result->fetch_assoc();
$invoiceNo = $row['invoiceNo'];
$prefix = 'Baopt_';
$getinvoiceNo = $prefix . str_pad($invoiceNo + 1, 4, 0, STR_PAD_LEFT);
$sql = "INSERT INTO cust_report_invoices (invoiceNo,invoiceDate)
VALUES ('$getinvoiceNo', '$getinvoiceDate' )";
答案 0 :(得分:2)
str_pad
返回字符串(doc)。因此,只需与.
保持联系:
$prefix = 'optical';
$invoice = $prefix . str_pad($invoiceNo + 1, 4, 0, STR_PAD_LEFT);
修改
添加新元素时,您需要删掉前缀-您可以使用以下代码:
$prefix = 'Baopt_';
$invoiceNo = $row['invoiceNo'];
if (substr($invoiceNo, 0, strlen($prefix)) == $prefix) // if already has prefix
$invoiceNo = substr($invoiceNo, strlen($prefix)); // remove it
$getinvoiceNo = $prefix . str_pad($invoiceNo + 1, 4, 0, STR_PAD_LEFT);
答案 1 :(得分:1)
在PHP中工作时,您可以将.
用作串联运算符。我看到您使用了返回字符串的函数str_pad
。
因此,您可以像这样将前缀与发票编号连接起来。
$prefix = 'optical';
$invoice = $prefix . str_pad($invoiceNo + 1, 4, 0, STR_PAD_LEFT);
$prefix
可以是您想要的任何东西。
当invoice = 0001
时,此示例将返回optical0001
答案 2 :(得分:0)
"Opticals".$getinvoiceNo
点是连接字符串。
答案 3 :(得分:0)
不确定我是否理解正确,您想在“光学”前面加上$ getinvoiceNo吗?
如果是,那很简单,
invoiceId = "optical$getinvoiceNo"