这是我的问题我正在尝试为我的应用程序创建一个随机条形码,我想检查该代码是否已经在列中而不是生成一个新数字,如果它的唯一返回它再次检查它再次检查它.我正在为此目的使用递归函数.我已经在我的数据库中添加了1,2,3,4号,因此每次运行时都必须显示5,6,7,8,9或10.
这是我的功能:
function generate_barcode(){
$barcode = rand(1,10);
$bquery = mysql_num_rows(mysql_query("SELECT * FROM stock_item WHERE barcode='$barcode'"));
if($bquery==1){
generate_barcode();
}else{
return $barcode;
}
}
Run Code Online (Sandbox Code Playgroud)
我只是像这样测试它
$a = generate_barcode();
if(isset($a))
{
echo $a;
}
else
{
echo 'Not Set';
}
Run Code Online (Sandbox Code Playgroud)
所以问题是它有时会向我显示"未设置",但我希望它始终生成一个唯一的数字.我没有插入数据所以不是所有数字都保留的问题.
有人只是引导我,让我知道代码有什么问题.我可以使用其他方法来做到这一点,但我需要知道提供的代码有什么问题.谢谢