Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

symblack

Tabela de Classificação

Recommended Posts

Bom dia galera, tudo bem?

 

Estou com um grande problema e uma aplicação onde estou "tentando" fazer algo parecido com a tabela do Campeonato Brasileiro de Futebol conforme o link abaixo:

 

http://globoesporte.globo.com/futebol/brasileirao-serie-a/

 

A tabela, classificação e etc eu já desenvolvi e está funcionando perfeitamente. O problema real está nas indicações de posição do time. Se ele manteve a posição, caiu ou subiu, juntamente com a quantidade.

 

Tentei gerar este status criando duas colunas (posicao_anterior, posicao_atual) no banco de dados para ir gravando conforme os resultados, porém não deu certo.

 

Por exemplo:

 

12 - Figueirense (subiu 2 posições)
13 - Goiás (desceu 1 posição)
14 - Botafogo (desceu 1 posição)
Agora, se a rodada não terminou ainda, estas posição estão sujeitas a serem alteradas novamente.
Se alguém tiver uma "luz" para dar um empurrão nisso eu ficarei muito grato. Estou nisso a 1 semana e agora precisei recorrer ao Fórum
Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai está um exemplo do code que eu havia feito.

Acredito que esta não seria a forma adequada para fazer o que preciso.

 

Esta parte é executada após o update do resultado do jogo

$p_visitante = $this->readFree("SELECT C.*, T.nome_time 
FROM tb_campeonato_classificacao  C
INNER JOIN tb_campeonato_times T ON(C.id_time = T.id)
WHERE C.id_campeonato = '" . $campeonato . "' AND id_time='" . $time_visitante . "'
ORDER BY pontos DESC, vitorias DESC, saldo_gols DESC, gols_pro DESC, nome_time");	
								

foreach($p_visitante as $lista_posicao){ 	
 $this->readQuery("UPDATE tb_campeonato_classificacao SET posicao_atual = '" . $lista_posicao['posicao_anterior'] . "' WHERE id_campeonato = '" . $lista_posicao['id_campeonato'] . "'  AND id_fase = '".$combo_fase."' AND id_time = '" . $time_visitante . "'");

}  

			 

Compartilhar este post


Link para o post
Compartilhar em outros sites

No seu modelo de dados se tem a informação da rodada ?

Se tem a informação dos jogos por rodada ?

 

Para saber se um time subiu ou nõ é preciso comparar sua posição na rodada N contra a posição na rodada (N-1).

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema maior está na seguinte situação:

 

O Time do Goiás, na rodada 18, estava na 9ª posição na tabela. Ai ele jogou e perdeu a partida, caindo uma posição (10ª) Porém este foi o único jogo das 18h30 do sábado.

No domingo acontecerá os outros jogos onde existem times que poderão subir na classificação e ultrapassar o Goiás.

 

Não consigo visualizar uma forma adequada para que este sobe e desce interaja de forma correta pois se eu guardar a posição da rodada anterior (9ª), no no primeiro momento ele irá calcular certinho a queda de 1 posição. Quando acontecerem os outros jogos do domingo, ele poderá cair mais posições. Ai dará errada a lógica disso tudo pois ele irá pegar a posição atual (10ª) para o cálculo do sobe e desce sendo que na real, ele estava na 9ª posição antes de começar a rodada.

 

Não sei se consegui explicar direitinho isso :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, possuo uma tabela onde guardo os jogos com o resultado e rodada

 

Nesta mesma tabela, guarde em que posições os times ficaram ao final da rodada.

Assim ficará bem fácil de fazer um "traceback" sem precisar recalcular tudo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

.... e assuma que os jogos que ainda não começaram estão 0X0, é uma forma.

Vc consegue a sql que define o ranking na rodada N !?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basta sempre fazer uma comparação atual com a classificação final da rodada anterior

 

Independente de quantos jogos ja teve sempre terá que recalcular

 

Faço isso na classificação de nosso bolão aqui mesmo no forum e funciona a contento

-------

 

http://forum.imasters.com.br/forum/113-bolao-imasters/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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