Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

Ajuda - Sistema para desenvolvimento de Grupos e jornadas (futebol)

$
0
0
Ola a todos, estou a desenvolver um sistema, em que os utilizadores logados se inscrevem num determinado torneio através de um formulário.
Os torneios poderão ser de PES e/ou FIFA.

Tenho na minha base de dados um tabela chamada "inscricoes_evento" onde receberá entre outros dados o username dos utilizadores
inscritos.

Para isso, já criei na minha base de dados, tabelas com o nome "grupo_a_pc" / "grupo_b_c" / grupo_c_pc etc ...

A minha ideia, para fazer os grupos é o seguinte, atraves da mysql_num_rows, fazer uma contagem às linhas que existem na tabela "inscricoes_evento", e através de if's dividir o numero de linhas (jogadores da tabela inscricoes_evento) pelos respetivos grupos, A, B, C etc ...

--- Caso o numero de linhas da tabela "inscricoes_evento" for 0, 1, 2 ou 3, insere no "grupo_a_pc"
--- Caso o numero de linhas da tabela "inscricoes_evento" for , 4, 5, 6 ou 7, insere no "grupo_b_pc"
--- Caso o numero de linhas da tabela "inscricoes_evento" for , 8, 9, 10 ou 11, insere no "grupo_c_pc"

Na pratica, fiz algo do tipo:

Código (PHP):
Página config_grupo_a_pc.php

Código (PHP):
<?php

$verificar_inscritos_pc = mysql_query("SELECT * FROM inscricoes_evento WHERE plataforma = 'PC'");
$contar_jogadores_pc = mysql_num_rows($verificar_inscritos_pc);


if ($_POST['envia']) {
        $username_campo = $_POST['username_campo'];   // Obtém o nome de utilizador
        $liga = $_POST['teamSelect'];                                                                    // Obtém a liga escolhida
        $equipa = $_POST['leagueSelect'];                                                        // Obtém a equipa escolhida
        $plataforma = $_POST['plataforma'];                                               // Obtém a plataforma em que o  jogador joga

        if ($username_campo == null or $liga == null or $equipa == null or $plataforma == null) {
        echo"<script language='javascript' type='text/javascript'>alert('Por favor preencha todos os compos obrigatorios!!');window.location.href='?pg=evento';</script>";
        } else {                   // Caso não haja campos sem ser preenchidos o formulario será enviado segundo a condição seguinte
                switch ($plataforma) {  // O formulario é enviado caso a plataforma de jogo seja "1" (PC) e caso a dita tabela inscricoes_evento nao tenha linhas, ou tenha 1, 2 ou 3 entao o "tabela grupo_a_pc" receberá os dados assim como as tabelas restantes
                  case (($plataforma == 1) and ($contar_jogadores_pc == 0 or $contar_jogadores_pc == 1 or $contar_jogadores_pc == 3)):
                  $inserir_inscricoes = mysql_query("INSERT INTO inscricoes_evento (p_nome, u_nome, username, liga_pretendida, equipa_desejada, plataforma, inscricao_evento_atual) VALUES ('$p_nome','$u_nome','$username_db','Liga Portuguesa','$equipa','PC','PENDENTE')");
                  $inserir_grupo_a_pc = mysql_query("INSERT INTO grupo_a_pc (nome,jogos,vitorias,empates,derrotas,gm,gs,dg,pontos,mostrar,plataforma) VALUES ('$username_db','0','0','0','0','0','0','0','0','NAO','PC')");
                  $inserir_em_grupos_a = mysql_query("INSERT INTO grupos (nome,jogos,vitorias,empates,derrotas,gm,gs,dg,pontos,mostrar,plataforma) VALUES ('$username_db','0','0','0','0','0','0','0','0','NAO','PC')");
                  $sec = "1";
                  header("Refresh: $sec; url=?pg=evento");
                  break;
                }

        } // else

} // btn envia

?>
 



Código (PHP):
Página config_grupo_b_pc.php

Código (PHP):
<?php

$verificar_inscritos_pc = mysql_query("SELECT * FROM inscricoes_evento WHERE plataforma = 'PC'");
$contar_jogadores_pc = mysql_num_rows($verificar_inscritos_pc);


if ($_POST['envia']) {
        $username_campo = $_POST['username_campo'];   // Obtém o nome de utilizador
        $liga = $_POST['teamSelect'];                                                                    // Obtém a liga escolhida
        $equipa = $_POST['leagueSelect'];                                                        // Obtém a equipa escolhida
        $plataforma = $_POST['plataforma'];                                               // Obtém a plataforma em que o  jogador joga

        if ($username_campo == null or $liga == null or $equipa == null or $plataforma == null) {
        echo"<script language='javascript' type='text/javascript'>alert('Por favor preencha todos os compos obrigatorios!!');window.location.href='?pg=evento';</script>";
        } else {                   // Caso não haja campos sem ser preenchidos o formulario será enviado segundo a condição seguinte
                switch ($plataforma) {  // O formulario é enviado caso a plataforma de jogo seja "1" (PC) e caso a dita tabela inscricoes_evento tenha 4 linhas, ou tenha 5, 6 ou 7 entao o "tabela grupo_b_pc" receberá os dados assim como as tabelas restantes
                  case (($plataforma == 1) and ($contar_jogadores_pc == 4 or $contar_jogadores_pc == 5 or $contar_jogadores_pc == 6 or $contar_jogadores_pc == 7)):
                  $inserir_inscricoes = mysql_query("INSERT INTO inscricoes_evento (p_nome, u_nome, username, liga_pretendida, equipa_desejada, plataforma, inscricao_evento_atual) VALUES ('$p_nome','$u_nome','$username_db','Liga Portuguesa','$equipa','PC','PENDENTE')");
                  $inserir_grupo_b_pc = mysql_query("INSERT INTO grupo_b_pc (nome,jogos,vitorias,empates,derrotas,gm,gs,dg,pontos,mostrar,plataforma) VALUES ('$username_db','0','0','0','0','0','0','0','0','NAO','PC')");
                  $inserir_em_grupos_a = mysql_query("INSERT INTO grupos (nome,jogos,vitorias,empates,derrotas,gm,gs,dg,pontos,mostrar,plataforma) VALUES ('$username_db','0','0','0','0','0','0','0','0','NAO','PC')");
                  $sec = "1";
                  header("Refresh: $sec; url=?pg=evento");
                  break;
                }

        } // else

} // btn envia

?>
 

No final de tudo isto, acontece o seguinte:
--- Quando é inserida a 4ª linha da tabela "grupo_a_pc" é também inserida a primeira linha na tabela "grupo_b_pc", verifiquei inclusive na tabela
"inscricao_evento" e insere a 4ª linha e a 5ª linha ao mesmo tempo, e assim sucede sempre, ou seja insere as linhas 4 e 5 / 8 e 9 / 12 e 13 etc
ao mesmo tempo.

Podem me ajudar a resolver este problema?
O que cria era que ao fim de se inserir 4 linhas nao inserir também a proxima

Desculpem desde já e obrigado a todos ;)

Viewing all articles
Browse latest Browse all 14700