Ir para conteúdo
diulio

Ajuda com Sistema de Sorteio

Recommended Posts

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...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela atenção Ahcor...

Então na verdade o jogador que completar seus 10 números independentes de quantos concursos possa ter é o ganhador.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Good
      Boa noite,
      não sei se estou na categoria correta.. por exemplo, eu estou buscando contratar um servidor de email que suporte envio de até 1milhão de emails por mês.
       
      Eu não tenho conhecimento, então gostaria de saber se alguém recomenda algum serviço.. que seja possível fazer integração com o meu sistema utilizando PHP.
       
      obrigado
    • Por kelvinferraz
      Boa noite pessoal!
       
      Estou com uma dúvida e não sei nem por onde começar, seguinte:
       
      Eu tenho um sistema simples em PHP cadastro de usuário e etc... Porém esse sitema gera relatorios de pessoas, gostaria de saber se é possível com base nos dados dos clientes cadastrados
      eu passar os parametros como nome, endereço, cidade, rg etc.. para dentro de sites do tipo:

      https://servicos.dpf.gov.br/antecedentes-criminais/certidao
       
      É possível automatizar isso e trazer junto aos meus relatorios ?

      Estou usando o DomPDF para gerar os relatorios trazido do banco fora outras informações que o próprio solicitante marca.
    • Por BTK
      Boa noite, estou tentando criar um curl que faz cadastro no site(o proprietário está ciente disso) porem ele está me retornando (HTTP/1.1 100 Continue HTTP/1.1 302 Moved Temporarily)

       $ch = curl_init();   
          
                                                                                                                     
          curl_setopt($ch, CURLOPT_URL, "https://www.cafefacil.com.br/customer/account/create/");                                     
          curl_setopt($ch, CURLOPT_HEADER, true);                                                                                                   
          curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36');                                                                                                                                               
          curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);                                                                                         
          curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);                                                                                       
          curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);                                                                                       
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
          curl_setopt($ch, CURLOPT_COOKIESESSION, true);                                                                             
          curl_setopt($ch, CURLOPT_COOKIEJAR, getcwd().'/cafefacil.txt');
          curl_setopt($ch, CURLOPT_COOKIEFILE, getcwd().'/cafefacil.txt'); 
          
          
          
          
          $b1 = curl_exec($ch);
          
          $form_key = value($b1, 'type="hidden" name="form_key" value="', '"');
          
          curl_setopt($ch, CURLOPT_URL, 'https://www.cafefacil.com.br/customer/account/createpost/');                                     
          curl_setopt($ch, CURLOPT_HEADER, true);                                                                                                   
          curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36');                                                                                                                                                  
          curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);                                                                                         
          curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);                                                                                    
          curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);                                                                                       
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
          curl_setopt($ch, CURLOPT_COOKIESESSION, true);   
          curl_setopt($ch, CURLOPT_REFERER, 'https://www.cafefacil.com.br/customer/account/create/');                                                                           
          curl_setopt($ch, CURLOPT_COOKIEJAR, getcwd().'/cafefacil.txt');
          curl_setopt($ch, CURLOPT_COOKIEFILE, getcwd().'/cafefacil.txt'); 
          curl_setopt($ch, CURLOPT_POST, 1);                                                                                                    
          $boundary = '---------------------------WebKitFormBoundaryRQ3KHJbpfmPf11v6';
          
          $data = '-----------------------------'.$boundary.'
          Content-Disposition: form-data; name="success_url"
          
          
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="error_url"
          
          
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="form_key"
          
          '.$form_key.'
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="tipopessoa"
          
          15
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="firstname"
          
          NomeTest SobreNomeTest
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="nomefantasia"
          
          
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="inscricaoestadual"
          
          
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="email"
          
          nometestsobrenometest@gmail.com
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="day"
          
          01
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="month"
          
          01
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="year"
          
          1990
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="dob"
          
          01/01/1990
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="taxvat"
          
          199.758.750-50
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="celular"
          
          (11)4712-8491
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="password"
          
          senhatest
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="confirmation"
          
          senhatest
          -----------------------------'.$boundary.'
          Content-Disposition: form-data; name="persistent_remember_me"
          
          on
          -----------------------------'.$boundary.'--';
          
          $header[] = "Content-Type: multipart/form-data; boundary=".$boundary;
          curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
          curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 
          
            
          echo $exec = curl_exec($ch);
          curl_close($ch);
    • Por laloproces
      Boa noite. Segue o texto do método main:
       
      /*O sistema basicamente faz é pedir informções para o usuário, pergutando quantas pessoas vai cadastrar, *qual o nome, telefone, se a pessoa trabalha, pede o cargo e a empresa para no final exibir essas informações na tela. */ public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("Quantas pessoas você vai cadastrar? (Somente números)\n"); int pessoas = (int)in.nextInt(); String[] nome = new String[pessoas]; String[] telefone = new String[pessoas]; String[] profissao = new String[pessoas]; String[] empresa = new String[pessoas]; int op = 0; for(int i=0; i<pessoas; i++) { System.out.println("\nDigite o nome do serumaninho:\n"); nome[pessoas] = in.toString(); //Tá dando erro aqui, provavelmente por causa da variável dinâmica pessoas System.out.println("\nDigite o telefone desse serumaninho:\n"); telefone[pessoas] = in.nextLine(); System.out.println("\nEsse vivente trabalha? (0 para não, 1 para sim)\n"); op = in.nextInt(); if(op == 1){ System.out.println("\nDigite a profissão dele:\n"); profissao[pessoas] = in.nextLine(); System.out.println("\nDigite o nome da empresa em que ele trabalha:\n"); empresa[pessoas] = in.nextLine(); } } for(int j=0; j<pessoas; j++){ if(op ==1){ Pessoa[] p = {new Profissional(nome[j], telefone[j], profissao[j], empresa[j])}; } else{ Pessoa[] p2 = {new Pessoa(nome[j], telefone[j])}; } } for(int h=0; h<pessoas; h++){ if(op==1){ Pessoa[] p = {new Profissional(nome[h], telefone[h], profissao[h], empresa[h])}; System.out.println(Arrays.toString(p)); } else{ Pessoa[] p2 = {new Pessoa(nome[h], telefone[h])}; System.out.println(Arrays.toString(p2)); } } } //Abaixo estão as classes, que estão em outros arquivos Java. public class Pessoa { public String getNome(){ return nome; } public void setNome(String nome){ this.nome = nome; } public String getTelefone(){ return telefone; } public void setTelefone(String telefone){ this.telefone = telefone; } private String nome; private String telefone; Pessoa(String nome, String telefone){ this.nome = nome; this.telefone = telefone; } void exibir(){ System.out.println(getNome()+" :: "+getTelefone()); } } //Abaixo a classe Profissional, derivada da classe Pessoa. public class Profissional extends Pessoa { private String profissao; private String empresa; public String getProfissao(){ return profissao; } public void setProfissao(String profissao){ this.profissao = profissao; } public String getEmpresa(){ return empresa; } public void setEmpresa(String empresa){ this.empresa = empresa; } Profissional(String nome, String telefone, String profissao, String empresa){ super(nome, telefone); this.profissao = profissao; this.empresa = empresa; } @Override public void exibir(){ super.exibir(); System.out.println("\tTrabalha como "+profissao+"no(a) "+empresa+"."); } } Minha dúvida é: como posso corrigir o problema sem tirar a maneira dinâmica do sistema e se da maneira como fiz não irá gerar outros erros ou poderia fazer de uma maneira mais simples.
      Desde já agradeço!
    • Por allencar.limma
      Tento incluir as informações de um formulário no banco de dados e não consigo. conforme código abaixo.
      <? /*Incluir as informações no formulario */ include "config.php"; $nome = trim($_POST['nome']); $masp = trim($_POST['masp']); $cpf = trim($_POST['cpf']); $telefone = trim($_POST['telefone']); $email = trim($_POST['email']); $endereco = trim($_POST['endereco']); $data_nascimento = trim($_POST['data_nascimento']); $unidade_lotacao = trim($_POST['unidade_lotacao']); /* Vamos checar algum erro nos campos */ if ((!$nome) || (!$masp) || (!$cpf) || (!$telefone) || (!$email) || (!$endereco) || (!$data_nascimento) || (!$unidade_lotacao)){ echo "ERRO: <br /><br />"; if (!$nome){ echo "Nome Completo é requerido.<br />"; } if (!$masp){ echo "Masp é requerido.<br />"; } if (!$cpf){ echo "CPF é requerido.<br /)>"; } if (!$telefone){ echo "Telefone é requerido.<br />"; } if (!$email){ echo "Email é requerido.<br />"; } if (!$endereco){ echo "Endereço é requerido.<br />"; } if (!$data_nascimento){ echo "Data de Nascimento é requerido.<br />"; } if (!$unidade_lotacao){ echo "Unidade de Lotação é requerido.<br>"; } echo "Preencha os campos abaixo: <br />"; include "formulario_cadastro.php"; }else { /* Vamos checar se o nome de Usuário escolhido e/ou Email já existem no banco de dados */ $sql_email_check = mysql_query( "SELECT COUNT(usuario_id) FROM usuarios WHERE email='{$email}'" ); $sql_masp_check = mysql_query( "SELECT COUNT(usuario_id) FROM usuarios WHERE masp='{$masp}'" ); $sql_cpf_check = mysql_query( "SELECT COUNT(usuario_id) FROM usuarios WHERE cpf='{$cpf}'" ); $eReg = mysql_fetch_array($sql_email_check); $uReg = mysql_fetch_array($sql_masp_check); $uReg = mysql_fetch_array($sql_cpf_check); $email_check = $eReg[0]; $masp_check = $uReg[0]; $cpf_check = $uReg[0]; if (($email_check > 0) || ($masp_check > 0) || ($cpf_check > 0)){ echo "<strong>ERRO</strong>: <br /><br />"; if ($email_check > 0){ echo "Este email já está sendo utilizado.<br /><br />"; unset($email); } if ($masp_check > 0){ echo "Este Masp já está sendo utilizado.<br /><br />"; unset($masp); } if ($cpf_check > 0){ echo "Este CPF já está sendo utilizado.<br /><br />"; unset($cpf); } include "formulario_cadastro.php"; }else{ /* Se passarmos por esta verificação ilesos é hora de finalmente cadastrar os dados. Vamos utilizar uma função para gerar a senha de forma randômica*/ function makeRandomPassword(){ $salt = "abchefghjkmnpqrstuvwxyz0123456789"; srand((double)microtime()*1000000); $i = 0; while ($i <= 7){ $num = rand() % 33; $tmp = substr($salt, $num, 1); $pass = $pass . $tmp; $i++; } return $pass; } $senha_randomica = makeRandomPassword(); $senha = md5($senha_randomica); // Inserindo os dados no banco de dados //$cpf = htmlspecialchars($cpf); ***RETIRADO PELO FATO DE NÃO ESTA SENDO USADO $sql = mysql_query( "INSERT INTO usuarios (none, masp, cpf, telefone, email, endereco, data_nascimento, unidade_lotacao) VALUES ('$nome', '$masp', '$cpf', '$telefone', '$email', '$endereco', '$data_nascimento', '$unidade_lotacao', now())") or die( mysql_error() ); if (!$sql){ echo "Ocorreu um erro ao criar sua conta, entre em contato."; }else{ $usuario_id = mysql_insert_id(); // Enviar um email ao usuário para confirmação e ativar o cadastro! $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=iso-8859-1\n"; $headers .= "From: RCI - <rci@rcionline.com.br>"; $subject = "Confirmação de cadastro - www.rcionline.com.br"; $mensagem = "Prezado {$nome} {$masp},<br /> Obrigado pelo seu cadastro em nosso site, <a href='http://www.rcionline.com.br'> http://www.rcionline.com.br</a>!<br /> <br /> Para confirmar seu cadastro e ativar sua conta em nosso site, podendo acessar à áreas exclusivas, por favor clique no link abaixo ou copie e cole na barra de endereço do seu navegador.<br /> <br /> <a href='http://www.rcionline.com.br/ativar.php?id={$usuario_id}&code={$senha}'> http://www.rcionline.com.br/ativar.php?id={$usuario_id}&code={$senha} </a> <br /> <br /> Após a ativação de sua conta, você poderá ter acesso ao conteúdo exclusivo efetuado o login com os seguintes dados abaixo:<br > <br /> <strong>Usuario</strong>: {$usuario_id}<br /> <strong>Senha</strong>: {$senha_randomica}<br /> <br /> Obrigado!<br /> <br /> Webmaster<br /> <br /> <br /> Esta é uma mensagem automática, por favor não responda!"; mail($email, $subject, $mensagem, $headers); echo "Foi enviado para seu email - ( ".$email." ) um pedido de confirmação de cadastro, por favor verifique e sigas as instruções!"; } } } ?>  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.