Ajuda com Sistema de Sorteio
Pessoal estou com dificuldades em montar a parte de conferir os números sorteados. Vou tentar explicar de forma objetiva.
Tenho a tabela abaixo com dois registros (de exemplo):
--
-- Estrutura da tabela tb_numescolhidos
--
CREATE TABLE `tb_numescolhidos` (
`id` int(11) NOT NULL,
`id_tb_participantes` int(11) DEFAULT NULL,
`dezena01` int(2) DEFAULT NULL,
`dezena02` int(2) DEFAULT NULL,
`dezena03` int(2) DEFAULT NULL,
`dezena04` int(2) DEFAULT NULL,
`dezena05` int(2) DEFAULT NULL,
`dezena06` int(2) DEFAULT NULL,
`dezena07` int(2) DEFAULT NULL,
`dezena08` int(2) DEFAULT NULL,
`dezena09` int(2) DEFAULT NULL,
`dezena10` int(2) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Tabela com os números do jogo';
--
-- Extraindo dados da tabela tb_numescolhidos
--
INSERT INTO tb_numescolhidos (id, id_tb_participantes, dezena01, dezena02, dezena03, dezena04, dezena05, dezena06, dezena07, dezena08, dezena09, dezena10) VALUES
(1, 1, 5, 9, 18, 25, 33, 38, 41, 49, 51, 57),
(2, 2, 1, 9, 16, 19, 27, 33, 39, 43, 56, 60);
Criei uma tabela separada para os participantes, pois um participante pode ter vários jogos. Achei que seria a melhor forma.
--
-- Estrutura da tabela tb_participantes
--
CREATE TABLE `tb_participantes` (
`id` int(11) NOT NULL,
`nome` varchar(50) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Tabela dos participantes';
--
-- Extraindo dados da tabela tb_participantes
--
INSERT INTO tb_participantes (id, nome) VALUES
(1, 'Pessoa 01'),
(2, 'Pessoa 02'),
(3, 'Pessoa 03');
Agora tenho a segunda tabela com seus registros
--
-- Estrutura da tabela tb_sorteios
--
CREATE TABLE `tb_sorteios` (
`id` int(11) NOT NULL,
`concurso` int(11) DEFAULT NULL,
`data` date DEFAULT NULL,
`numsorteado-dz01` int(2) DEFAULT NULL,
`numsorteado-dz02` int(2) DEFAULT NULL,
`numsorteado-dz03` int(2) DEFAULT NULL,
`numsorteado-dz04` int(2) DEFAULT NULL,
`numsorteado-dz05` int(2) DEFAULT NULL,
`numsorteado-dz06` int(2) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Sorteios da Mega Sena (Exemplo)';
--
-- Inserindo dados da tabela tb_sorteios
--
INSERT INTO tb_sorteios (id, concurso, data, numsorteado-dz01, numsorteado-dz02, numsorteado-dz03, numsorteado-dz04, numsorteado-dz05, numsorteado-dz06) VALUES
(1, 1920, '2017-04-12', 25, 31, 33, 39, 43, 45),
(2, 1921, '2017-04-13', 5, 19, 23, 31, 33, 51),
(3, 1922, '2017-04-14', 9, 19, 33, 34, 45, 59);
Agora na página que exibe o nome do participante e seus jogos escolhidos com o total de acerto, não estou conseguindo fazer a parte de comparar os jogos(registro na tabela tb_numescolhidos) escolhidos pelo participante com os jogos sorteados ate o momento (tabela tb_sorteios) lembrando que a comparação é com todos os registros da tabela tb_sorteios.
Então a comparação é 1 registro da tabela tb_numescolhidos com todos registros da tb_sorteios.
Obs.: perceba que os registros da tabela tb_soterios podem ter números iguais de um registro para outro, mas na comparação não fará sentido comparar esses números mais de uma vez.
Como poderia melhorar meu código abaixo?
<?php
// CONEXAO COM BANCO DE DADOS
session_start();
include('./../conexao/conn.php');
// cria a instrução SQL que vai selecionar os dados
$querySelect = sprintf("SELECT tb_numescolhidos.*, tb_participantes.`nome` FROM tb_numescolhidos INNER JOIN tb_participantes ON(tb_numescolhidos.`id_tb_participantes` = tb_participantes.`id`)");
// executa a query
$dados = mysql_query($querySelect, $conexao) or die( mysql_error() );
// transforma os dados em um array
$linha = mysql_fetch_assoc($dados);
// calcula quantos dados retornaram
$total = mysql_num_rows($dados);
?>
<!doctype html>
<html lang="pt-br">
<body>
<div class="wrapper">
<div class="main-panel">
<div class="content">
<div class="container-fluid">
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header" data-background-color="purple">
<h4 class="title">Tabela dos Jogos</h4>
<p class="category">Jogos cadastrados dos participantes</p>
</div>
<div class="card-content table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th rowspan="2">Participantes</th>
<th colspan="10" style="text-align: center;">Dezenas</th>
<th rowspan="2">Total de Acertos</th>
</tr>
<tr>
<th>1ª Dezena</th>
<th>2ª Dezena</th>
<th>3ª Dezena</th>
<th>4ª Dezena</th>
<th>5ª Dezena</th>
<th>6ª Dezena</th>
<th>7ª Dezena</th>
<th>8ª Dezena</th>
<th>9ª Dezena</th>
<th>10ª Dezena</th>
</tr>
</thead>
<?php
// se o número de resultados for maior que zero, mostra os dados
if($total > 0) {
// inicia o loop que vai mostrar todos os dados
do {
?>
<tbody>
<tr>
<td><?=$linha['nome']?></td>
<td><?=$linha['dezena01']?></td>
<td><?=$linha['dezena02']?></td>
<td><?=$linha['dezena03']?></td>
<td><?=$linha['dezena04']?></td>
<td><?=$linha['dezena05']?></td>
<td><?=$linha['dezena06']?></td>
<td><?=$linha['dezena07']?></td>
<td><?=$linha['dezena08']?></td>
<td><?=$linha['dezena09']?></td>
<td><?=$linha['dezena10']?></td>
<td>
<?php
/*
Resultado da comparação dos números escolhidos
com os números sorteados
*/
?>
</td>
</tr>
<?php
// finaliza o loop que vai mostrar os dados
}while($linha = mysql_fetch_assoc($dados));
// fim do if
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
Alguém tem ideia de como posso resolver esse problema?
Desde já muito obrigado...Discussão (3)
Carregando comentários...