Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá fórum iMasters, minha ideia é possível?
Meu site, quando o usuário loga com o nick, ele faz uma busca no site do jogo e trás as informações e exibe na tela, e é salva no banco de dados, como Kill, Death, Etc...
Porém, todo dia o Ranking do jogo atualiza, e meu site também, o usuário loga e atualiza no banco.
Mas, eu queria assim, se eu loguei hoje, e estava lá, meus Kills 55.000, e amanhã vai estar 55.560
Tem como, quando eu logar amanhã e dizer: você matou 560 de ontem para hoje.
Precisaria salvar no banco de ontem e hoje, como? Quando salvar hoje, amanhã passar os dados de hoje para ontem no banco, e o de hoje atualizar com os novos valores?
Confuso? Me desculpem kk alguma solução?
Salvar os dados de todo dia, não ficaria muita coisa? Eu não usaria, só precisa de 2 dias mesmo.
Faça um seguinte, cria um novo campo com o valor de ontem qualquer nome que seja tipo old_kills com o valor atual de pontos
e você faz a soma de - entre kills e old_kills e dá um echo
Por exemplo animes, o ranking do jogo atualizou e meus kills são 20, amanhã quando atualizar vai está 30, como vai está 20 no meu banco de dados, como eu faço pra quando ele logar, passar o 20 para outra coluna e o 30 na de hoje?
Você pode não precisar dos dados diários, mas pode ser um diferencial, ou um recurso novo. Você pode guardar os registros diários apenas de um ano, por exemplo. Depois pega a soma anterior a um ano e guarda só o acumulado total
Ter um campo para "ontem" e um para "hoje" vai te dar dor de cabeça pra manter sincronizado. Sem dar um Lock na tabela, vai ser difícil sincronizar com 100% de garantia.
Beraldo, o site tem um rank total, é o que eu usaria pra diferenciar.
Porém, o site mesmo tem o ranking diário, Mas...
Se eu colocar no login, buscar os dados totais, e os diários, o site demoraria muito pra logar (Buscar as informações de duas URLs, abrir sessões, salvar no banco etc...).
Eu não acho que seria dor de cabeça... isso depende de como será a forma para salvar e depois comparar
o old_kills e kills..
o campo old_kills você pode fazer um seguinte.. essa coluna só vai atualizar quando o usuário dar kills..
no caso quando ele logar não vai atualizar quando ele logar e sim só a kills..
depois é só a lógica de somar..
Um exemplo é o plugin desse fórum aqui de saber quanto tempo todos gasta online..
são 3 campo na tabela só para saber quanto tempo a gente passa online aqui kkkk
2 campo são aonde faz a soma e o terceiro o total de tempo online..
Faça um rotina agendada (no cron/agendador) que busca esses dados remotos e salva no seu BD local.
Assim a busca vai ficar mais rápida
@AnimesMix, a questão é mover os kills de "hoje" para "ontem". Se houver inserção nessa tabela enquanto a rotina roda, já era a confiança dos números
E outra: quanto mais usuários, mais tempo vai levar. Se você iniciar à 0h de cada dia, pode ter usuário terminando em 0h30. Nesses 30 minutos, já pode ter "kill" novo e vai entrar em "ontem", pois foi registrado antes de mover os dados
Então estou enganado.. realmente você está certo Beraldo sorry rs
Como beraldo disse usar um cron resolve isso.. mas nesse caso terá que criar uma tabela para isso certeza..
como os jogos grandes tem um log de cada coisa que os jogadores fazem você terá que pensar numa lógica
boa para isso.
Um exemplo meu que gastará pouco muito pouco mesmo do espaço do BD
tabela Kills_log
id int auto_in
id_user int
kills int
data datetime
bem.. acho que seria interessante isso com cron
nesse exemplo ele salva as skills durante o dia todo e quando acabar o dia ele já faz um insert na tabela
e caso ainda esteja no dia faz um update com + 1 ou quantas kills o user deu..
kkk parece muita coisa hêim rs
Obrigado galera, vou pensar no que eu faço aqui.
Em vez de salvar apenas o total geral, salve o total de cada dia. Assim basta fazer as contas, podendo calcular de um dia, uma semana, um mêss, um ano etc