sistema de ranking
Olá,
Estou com uma duvida e não estou sabendo aplicar, poderia me ajudar? Seguinte:
Semanalmente eu tenho que ler alguns xml e jogar estes valores no banco de dados. Nele está contido o Nome e Valor. Na proxima semana faço a mesma coisa leio o xml e armazeno o Nome e Valor (neste caso pode houver alguns usuarios a mais, ou seja, na primeira semana tem 100 usuarios nesta outra semana terá 120 usuarios (que são os 100 anterior e mais 20 novos)
Aqui vem a duvida, eu preciso jogar estes dados numa tabela de ranking, onde me retorna a posição, primeiro, segundo lugares e por aí vai.
Como faço pra quando eu ler esta segunda semana ele comparar o valor e me dizer: "Olha semana passada vc tava no 5º lugar, porém hoje você tá no 10º lugar)
Minha tabela de rank
>
CREATE TABLE IF NOT EXISTS `rank` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nome` varchar(50) COLLATE latin1_general_ci NOT NULL,
`valor` int(10) NOT NULL
PRIMARY KEY (`id`)
)
Valores da primeira semana
>
INSERT INTO ranki (id, nome, valor) VALUES
(1, 'Nome 1', 5),
(2, 'Nome 2', 100),
(3, 'Nome 3', 150),
Valores da segunda semana
>
INSERT INTO ranki (id, nome, valor) VALUES
(1, 'Nome 1', 10),
(2, 'Nome 2', 100),
(3, 'Nome 3', 200),
(4, 'Nome 4', 50),
(5, 'Nome 5', 100),
Qual forma mais facil, eu estava pensando seguinte: fazer duas tabelas rank 1 e rank 2 mas como fazer a comparação (meu referencial é o nome, se o nome for igual é sinal que são os mesmos usuarios
Jogar os valores do rank 1 ja fiz, mas queria por uma segunda coluna e nela mostrar os valores de "+" se ele subiu o ranking, "-" se ele caiu no rank e "o" se ele é novo e nao estava no rank
Discussão (9)
Carregando comentários...