Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou com uma dúvida aqui e não estou conseguindo achar uma solução.
Criei um sistema de sorteio onde corre e salva no banco uma sequências numeral de forma aleatória.
No foreach eu determinei que deverá procurar 5 sequências entre 1 à 10 sem repetir... e caso ele ache no banco, já salvo anteriormente por outro apostador um nº repetido, ele deveria somar + 1 no final do laço e continuar a buscar outro numero até finalizar as 5 sequências. Só que quando ele soma + 1 ele não transfere essa soma para o forech, pois o laço inicia numa linha abaixo.
No trecho abaixo eu simulei um número salvo no banco que seria o "00004" e no loop ele deverá pular esse nº.
Será que consegui passar a minha dúvida?
// GERAR NÚMEROS ALEATÓRIOS
function getRandomNumbers($qnt, $min, $max, $repeat = false, $sort = true,
$sort_order = 0){ if ((($max - $min) + 1) >= $qnt) {
$numbers = array();
while (count($numbers) < $qnt) {
$number = mt_rand($min, $max);
if ($repeat) {
$numbers[] = $number;$numbers[] = $number;
}
}
if($sort){sort($numbers);
break;rsort($numbers);
break;
}
}
return $numbers;foreach (getRandomNumbers(5, 1, 10, false, false) as $number){
$number = str_pad($number , 6 , '0' , STR_PAD_LEFT);
// EXIBIR NA TELA DE TESTE OS NÚMEROS PARA SORTEIO
echo " $number<br>";
// $sql = mysqli_query($con, "SELECT * FROM sorteios WHERE num_sorteados='$number'");if($num_sorteados == false or $num_sorteados != $number){
$query = "INSERT INTO sorteios (referencia, num_sorteados) VALUES ('$reference','$number')";
mysqli_query($con, $query) or die (" Erro ao inserir dados sorteados");
}
else
{
$qtde_numeros = $qtde_numeros + 1;
}
}Carregando comentários...