-
Total de itens
28 -
Registro em
-
Última visita
Reputação
0 ComumSobre André Monjardim
Informações Pessoais
-
Sexo
Masculino
Contato
-
Facebook
https://www.facebook.com/andremonjardim
-
Alguém poderia me auxiliar pra fazer um loop com foreach para um sorteio?
André Monjardim respondeu ao tópico de André Monjardim em PHP
Fiz o proprio mysql escolher e salvar os dados do participante. Assim quando houver rodar novamente ele irá pular os dados cadastrados. Nessa trecho eu criei no banco com o nome "sequencia" com um número fixo de linhas (999999) nº máximo do sorteio da Loteria Federal. <?php include "config.php"; $i = 1; while($i<= 999999){ $query = "INSERT INTO sequencia (referencia) VALUES ('')"; mysqli_query($con, $query) or die (" Erro ao inserir dados"); echo "$i<br>"; $i++; } ?> Abaixo eu peguei a resposta do pagseguro que diz que o pagamento foi aprovado e fiz o sisteminha rodar os números pra sorteio e já indo salvando o nome e a referência do participante... essa referência consta tb no pagseguro, email, etc. <?php $sql1 = mysqli_query($con, "SELECT * FROM sequencia WHERE referencia='$reference'"); $num_reg = mysqli_num_rows($sql1); if($num_reg == 0){ // GERAR NÚMEROS ALEATÓRIOS $sql2 = mysqli_query($con, "SELECT * FROM sequencia WHERE referencia='' ORDER BY rand() LIMIT $qtde_numeros"); while($busca = mysqli_fetch_array($sql2)){ $number = $busca['numero']; $number = str_pad($number , 6 , '0' , STR_PAD_LEFT); // testar numero na tela // echo "$number<br>"; // $data_hora = date("Y-m-d H:i:s"); $alterar = "UPDATE sequencia SET referencia = '$reference', comprador = '$comprador', data_compra = '$data_hora' where numero = '$number'"; mysqli_query($con, $alterar) or die ("Erro ao alterar dados"); } } // FIM DO SORTEIO ?> E para enviar os nº para o email do participante eu montei dentro do corpo do email o trecho abaixo $sql = mysqli_query($con, "SELECT * FROM sequencia WHERE referencia='$reference'"); while($array = mysqli_fetch_array($sql)){ $numero_email = $array['numero']; $numero_email = str_pad($numero_email , 6 , '0' , STR_PAD_LEFT); $email_conteudo .= " [ $numero_email ] "; } Pronto!! Tudo testado e aprovado!! -
Alguém poderia me auxiliar pra fazer um loop com foreach para um sorteio?
André Monjardim respondeu ao tópico de André Monjardim em PHP
Já consegui aqui... vou fazer mais uns testes e deixar aqui pra quem quiser. Mas obrigado pela disposição! -
Alguém poderia me auxiliar pra fazer um loop com foreach para um sorteio?
André Monjardim respondeu ao tópico de André Monjardim em PHP
Já consegui aqui... vou fazer mais uns testes e deixar aqui pra quem quiser. Mas obrigado pela disposição! -
Alguém poderia me auxiliar pra fazer um loop com foreach para um sorteio?
André Monjardim respondeu ao tópico de André Monjardim em PHP
Pelo str_pad() comportamento de s também. Vamos voltar ao antigo estábulo sprintf(). -
Alguém poderia me auxiliar pra fazer um loop com foreach para um sorteio?
André Monjardim respondeu ao tópico de André Monjardim em PHP
Não consegui concluir... na verdade o que preciso é achar um local pra essa procura do loop no banco de participantes anteriores para nunca haver duplicidade de números. Tô aqui quebrando a cabeça, mas tenho pouco conhecimento ainda. Quem puder me ajudar com esse código, será bem vindo! -
Alguém poderia me auxiliar pra fazer um loop com foreach para um sorteio?
André Monjardim respondeu ao tópico de André Monjardim em PHP
Tô fazendo uma gambiarra aqui e acho que vou conseguir.. já posto o que fiz! Mas obrigado! -
Alguém poderia me auxiliar pra fazer um loop com foreach para um sorteio?
André Monjardim postou um tópico no fórum PHP
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; } elseif (!in_array($number, $numbers)) { $numbers[] = $number; } } if($sort){ switch ($sort_order){ case 0: sort($numbers); break; case 1: rsort($numbers); break; } } return $numbers; } else { return 'A faixa de valores entre $min e $max deve ser igual ou superior à ' . 'quantidade de números requisitados'; }} // Após declará-la: 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'"); // while($array = mysqli_fetch_array($sql)){ // $num_sorteados = $array['num_sorteados']; // } // TESTE $num_sorteados = 000004; // 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; } }