Gravar no Banco de Dados de forma ordenada

Enviada por JOAO CLAUDIO VILANOVA 
JOAO CLAUDIO VILANOVA
Gravar no Banco de Dados de forma ordenada
31 de July de 2023 às 05:47PM
Galera, estou tentando fazer um sisteminha em PHP onde eu gero combinações aleatórias mas antes de gerar os números eu informo a quantidade de dezenas e os limites mínimo e máximo. Lá eu também escolho o numero de dezenas e combinações que quero. Tenho um banco de dados com todos os sorteios anteriores cadastrados, com os seguintes campos: NumeroSorteio, Dezena1, Dezena2, Dezena3, Dezena4, Dezena5, Dezena6.
O que fiz até agora garante que uma função verifique se a sequencia gerada já existe (function ja_existe($jogo, $stmt)) e sejam geradas as dezenas dentro do limite que especifiquei e que sejam embaralhadas. Depois pego 6 delas. Nesse momento eu gostaria que o sistema fizesse uma verificaçao no banco para ver se eles já existem naquela sequencia, se existirem, elimina, se nao, grava, e acim se repetiria ate o fim do laço.
Vejam até onde consegui fazer:

// verifica se o jogo já existe no banco
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;
}
}
}

Obs: Acredito que as sequencias devam ser gravadas no banco de dados de forma ordenada, daí tenho dois problemas, nem sei como fazer para inserir as seuqencias geradas no banco nem mesmo como fazer isso de forma ordenada .
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.