2015-10-04 14 views
-1

我们有一个条形码表在MySQL数据库中存储条形码号码,我们正在创建新的条形码号码,但问题是如何生成一个新的12位数字号码不应该被我们的数据库表复制。我们已经创建了检查重复Number的函数。创建一个新的唯一的12位数字php

<?php include('dbcon.php'); 

function IsBarcodeDuplicate($bcodeno){ 
$sqlsearch="SELECT * FROM barcodes where barcodeno='$barcodeno'"; 
$rs=mysqli_query($_GLOBALS['con'],$sqlsearch); 
$rowcounts=mysqli_num_rows($rs); 
if($rowcounts>=1){ 
return(true); 
} 
return(false); 
}//ends here 

function GenerateNewnum(){ 
/*to be implemented here 
IsBarcodeDuplicate(number) 
*/ 
}//ends here 
?> 

回答

0

你可以只增加你的数据库表中最高的数字1?那么你不需要检查它是否已经存在。

SELECT barcodeno FROM barcodes ORDER BY barcodeno DESC LIMIT 1 

或者你可以只使用PHP的随机数发生器和垫0,如果它比12个字符短。

$no = rand(0, 999999999999); 
$no = str_pad($no, 12, "0", STR_PAD_LEFT); 
+0

我的条码阅读器也被扫描已经具备条形码,然后在表中插入,但问题出现了其他产品时,我们必须创造一个不具有条形码的produc一个新号码,并将其插入到表没有重复@George –

+0

嗨,Syed,我明白了,通过选择最高值并将其递增1,可以保证获得一个唯一编号(因为它高于表中的任何其他编号)。 – George

+0

感谢它已经解决了@George –

相关问题