Here is my question I am trying to create a random bar code for my application, I want to check if that code is already in the column than generate a new number, check it again if its unique return it to the caller else generate again. I am using a recursive function for this purpose. I have added number 1,2,3,4 inside my database so every time it runs it has to show me 5,6,7,8,9 or 10.
Here is my function:
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;
}
}
And I just tested it like this
$a = generate_barcode();
if(isset($a))
{
echo $a;
}
else
{
echo 'Not Set';
}
So the problem is that its sometime showing me "Not Set", but I want it to always generate a unique number. I am not inserting the data so its not a problem that all the numbers are reserved.
Someone just guide me and let me know what is wrong with the code. I can use other approaches to do that but I need to know what is wrong with the supplied code. Thanks
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…