Galera, tenho um formulario que grava o codigo de um jogo de numeros aleatorios e os campos DEZENA1, DEZENA2, DEZENA3 e DEZENA4. As dezenas são geradas aleatoriamente pelo sistema ainda enquanto array atraves da função RANGE. Ocorre que quando geradas elas vem desordenadas e eu não sei como fazer para gravar no banco a partir dai, mas gostaria de salvar de forma ordenada e crescente, ou seja, do maior para o menor. Como se faz isso ?
Vejam ate onde consegui fazer ate agora,
function ja_existe($jogo, $stmt) {
$stmt->execute($jogo);
return $stmt->fetchColumn() > 0;
}
$Numjogos = $_POST["jogos"];
$Qtydezenas = $_POST["dezenas"];
$Valormin = $_POST["de"];
$Valormax = $_POST["ate"];
$jogos = [];
$numeros = array_map(function($n) { return sprintf("%02d", $n); }, range($Valormin, $Valormax));
$Conn = // criar conexão
$stmt = $Conn->prepare('select count(*) from NomeDaTabela where Dez_1=? AND Dez_2=? AND Dez_3=? AND Dez_4=? AND Dez_5=? AND Dez_6=?');
for ($i = 1; $i <= $Numjogos; $i++) {
while (true) {
// embaralha
shuffle($numeros);
// pega os 6 primeiros e ordena
$sorteio = array_slice($numeros, 0, $Qtydezenas);
sort($sorteio);
// se não é jogo repetido, adiciona
if (! ja_existe($jogo, $Conn)) {
$jogos[] = $sorteio;
break;
}
}
}
Não sei como fazer a parte da inserção no banco e nem como faria para as dezenas irem ordenadas
Pergunta
jcvilanova
Galera, tenho um formulario que grava o codigo de um jogo de numeros aleatorios e os campos DEZENA1, DEZENA2, DEZENA3 e DEZENA4. As dezenas são geradas aleatoriamente pelo sistema ainda enquanto array atraves da função RANGE. Ocorre que quando geradas elas vem desordenadas e eu não sei como fazer para gravar no banco a partir dai, mas gostaria de salvar de forma ordenada e crescente, ou seja, do maior para o menor. Como se faz isso ?
Vejam ate onde consegui fazer ate agora,
function ja_existe($jogo, $stmt) { $stmt->execute($jogo); return $stmt->fetchColumn() > 0; } $Numjogos = $_POST["jogos"]; $Qtydezenas = $_POST["dezenas"]; $Valormin = $_POST["de"]; $Valormax = $_POST["ate"]; $jogos = []; $numeros = array_map(function($n) { return sprintf("%02d", $n); }, range($Valormin, $Valormax)); $Conn = // criar conexão $stmt = $Conn->prepare('select count(*) from NomeDaTabela where Dez_1=? AND Dez_2=? AND Dez_3=? AND Dez_4=? AND Dez_5=? AND Dez_6=?'); for ($i = 1; $i <= $Numjogos; $i++) { while (true) { // embaralha shuffle($numeros); // pega os 6 primeiros e ordena $sorteio = array_slice($numeros, 0, $Qtydezenas); sort($sorteio); // se não é jogo repetido, adiciona if (! ja_existe($jogo, $Conn)) { $jogos[] = $sorteio; break; } } }
Não sei como fazer a parte da inserção no banco e nem como faria para as dezenas irem ordenadas
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.