我制作了一个随机字符生成器,但是如何检查数据库中是否已存在结果? 例如,如果我想要5000个结果,并且1个结果等于数据库中的结果,则必须在for循环中创建新结果。
$previous = array();
for ($i=1; $i<=$quantity; $i++){
$unique_found = false;
while(!$unique_found){
$a = substr(str_shuffle("1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 4);
$b = substr(str_shuffle("1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 4);
$c = substr(str_shuffle("1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 4);
$d = substr(str_shuffle("1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 4);
$code = "$a-$b-$c-$d";
if(!in_array($code,$previous)){
$unique_found = true;
$previous[] = $code;
echo .$code .'<br>';
}
}
}
答案 0 :(得分:1)
使用数据库中的结果填充$ previous数组。
$previous = array();
$sql = "SELECT `code` FROM `table`";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()){
$previous[] = $row['code'];
}
for ($i=1; $i<=$aantal; $i++){
// ....