【问题标题】:Create a new unique 12 digit number php创建一个新的唯一 12 位数字 php
【发布时间】:2015-10-04 16:15:24
【问题描述】:

我们在 MySQL 数据库中有一个条形码表,其中存储了条形码编号,我们正在创建新的条形码编号,但问题是如何生成一个新的 12 位编号,该编号不应与我们的数据库表重复.我们已经创建了检查重复号码的功能。

  <?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
?>

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    您可以将 db 表中的最高数字加 1 吗?那么你就不需要检查它是否已经存在了。

    SELECT barcodeno FROM barcodes ORDER BY barcodeno DESC LIMIT 1
    

    或者你可以使用 php 的随机数生成器,如果它少于 12 个字符,则在前面填充 0。

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

    【讨论】:

    • 我的条码阅读器也在扫描其他已经有条码的产品,然后插入表格,但是当我们必须为没有条码的产品创建一个新编号并插入它时,问题就出现了表没有重复@George
    • 嗨,Syed,我知道,通过选择最大值并将其加一,您可以确保获得一个唯一的数字(因为它高于表中的任何其他数字)。
    猜你喜欢
    • 2020-01-31
    • 1970-01-01
    • 2011-01-28
    • 2018-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-14
    • 2012-04-22
    相关资源
    最近更新 更多