Ir para conteúdo
Fórum Script Brasil
  • 0

Como criar tabelas de campeonatos divididos por rodadas dinamicamente


Hussay

Pergunta

Boa tarde, Pessoal

Preciso criar um sistema em php com mysql, sendo que após inserir os times que disputarão o campeonato, o sistema faça todos jogarem com todos uma única vez e os separem por rodadas, sendo que nessas rodadas não pode repetir time (Ex.: Estilo campeonato brasileiro).

Eu fiz o seguinte código que faz uma análise combinatória e faz com que todos joguem com todos uma vez:

$nome_temporario=$_FILES["arquivo"]["tmp_name"];/* Pega o arquivo*/
$nome_arquivo = "ARQUIVO.csv"; // qualquer que seja o nome enviado e renomeado
copy($nome_temporario,"arquivos/$nome_arquivo");

$abraArq = fopen("arquivos/ARQUIVO.csv", "r");
//Apenas para ficar com mais controle melhor colocar um tratamento de erros caso o arquivo são seja aberto ai use as condições if e else. E imprima na tela com um echo()
if (!$abraArq){
echo ("<p>Arquivo não encontrado</p>");
}else{
// Caso abra faça isso agora
// usando a nova função do php 5 fgetcsv() o 2048 é apenas para colocar o número máximo de caracteres por linha.
// crie uma variável chamada $valores o que vai corresponder pelos valores das colunas para serem inseridas.
while ($valores = fgetcsv ($abraArq, 2048, ";")) {
// Só criar agora o construtor que pegou os valores das colunas do arquivo csv. E começar a inserir dentro da base de dados.
$nome1 = $valores[0];
$nome2 =explode(" ",$nome1);
$nome = $nome2[0]." ".$nome2[1];
$mes = $_POST['mes'];
$supervisor = $_POST['supervisor'];

$result = mysql_query("INSERT INTO jogadores (nome, mes, supervisor) values ('$nome', '$mes', '$supervisor')");

}
fclose($abraArq);


unlink("arquivos/$nome_arquivo");

$mes1 = $_POST['mes'];
$sql_conta_times = mysql_query("SELECT nome FROM jogadores WHERE mes='$mes1'");
$cont_times = mysql_num_rows($sql_conta_times);
$cont_times1 = $cont_times;
$i =1;
while($i < $cont_times){
    $i++;
    
    $times_jogos = $i - 2;
$sql_conta_times1 = mysql_query("SELECT nome FROM jogadores WHERE mes='$mes1' LIMIT $times_jogos,1");
    
    while($linha_times = mysql_fetch_array($sql_conta_times1)){
    $time1 = $linha_times['nome'];
    $i2 = 0;
    $cont_times1--;
    while($i2 < $cont_times1){
    
    $rodada = $i2;
    
    $time1c = $time1;
    $sql_conta_times2 = mysql_query("SELECT nome FROM jogadores WHERE mes='$mes1' and nome!='$time1c' ORDER BY id DESC LIMIT $rodada,1");
    
    while($linha_times2 = mysql_fetch_array($sql_conta_times2)){
    $time2 = $linha_times2['nome'];
    $confere1 = $time1c.$time2;
    $confere2 = $time2.$time1c;
    echo $time1c." X ".$time2."<br>";
    
    
     }
    $i2++;
    }
    

    }

    
    }

Com esse calculo faço todo mundo jogar com todo mundo, mas não sei como separar em rodadas.

Alguém consegue me ajudar? :blink:

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...