Olá galera preciso de um decrementador no meu site que rode a parti do servidor não do cliente ex: o usuário entra no site e tem um tempo sendo decrementado 09:50… quando ele entrar daqui um certo tempo o horario continua decrementando digamos… 4:10 e depois quando zerar continue tudo denovo… sem que ele de F5 e tudo seja atualizado e comece denovo a contagem…
agradeço mesmo quem poder me ajudar conto com vocês,
Mensagem: Deus amou o mundo de tal maneira que mandou seu UNICO filho por nós.
Você pode utilizar um cookie com uma regra +/- assim:
Quando o usuário entra o sistema verifica se existe um cookie.
Se não existir você coloca um com a data atual e inicia via javascript a sua contagem, baseado nessa data.
Depois, se ele entrar novamente, o sistema irá ver que existe o cookie e irá continuar a contagem baseado na data inicial.
[quote=yorgan]Você pode utilizar um cookie com uma regra +/- assim:
Quando o usuário entra o sistema verifica se existe um cookie.
Se não existir você coloca um com a data atual e inicia via javascript a sua contagem, baseado nessa data.
Depois, se ele entrar novamente, o sistema irá ver que existe o cookie e irá continuar a contagem baseado na data inicial.
[/quote]
bem poderia até dar certo porém preciso de algo 100% saca… pq esse horario ai iria chegar a 0 e iria ser execultando os comandos SQL que estariam em aguardo entende…
é que estou fazendo um jogo em java se quizer ver… http://www.projeto-genesis.com:8080/ProjetoGenesis/ ai no caso quando o turno acabar teria q voltar a contagem saca
Bom, mas se é um jogo provavelmente o usuário estará logado, certo?
Se for assim, armazene esses dados em uma tabela. Com o usuário você pode fazer referência a esses dados.
[quote=yorgan]Bom, mas se é um jogo provavelmente o usuário estará logado, certo?
Se for assim, armazene esses dados em uma tabela. Com o usuário você pode fazer referência a esses dados.
[]´s
Daniel[/quote]
sim sim… mas é que o turno é igual para todos… então todos terão 1 turno equivalente a tantos minutos…
Mais simples ainda, basta então você criar a tabela TURNO e usar para todos os usuários o mesmo registro.
Pode ser algo como:
—turno—
-id_turno
-dt_turno
-ic_encerrado
E se ainda quiser turnos diferentes para algum tipo de usuário, você pode criar uma estrutura assim:
(Estou assumindo que os usuários estejam cadastrados na tabela USUARIO com PK=ID_USUARIO).
—turno_usuario—
id_turno
id_usuario
Com isso você amarra tudo e pode gerenciar os tempos dos turnos de forma segura.
[quote=yorgan]Mais simples ainda, basta então você criar a tabela TURNO e usar para todos os usuários o mesmo registro.
Pode ser algo como:
—turno—
-id_turno
-dt_turno
-ic_encerrado
E se ainda quiser turnos diferentes para algum tipo de usuário, você pode criar uma estrutura assim:
(Estou assumindo que os usuários estejam cadastrados na tabela USUARIO com PK=ID_USUARIO).
—turno_usuario—
id_turno
id_usuario
Com isso você amarra tudo e pode gerenciar os tempos dos turnos de forma segura.
[]´s
Daniel[/quote]
certo a ideia é muito boa… mas como vou fazer tipow esse TIMEZINHO… que fica decrementando igual pra todos… sem que o cara de f5 e comece tudo denovo… pq eu tinha pensando em por uma tabela no banco chamada turno sim… so com o TEMPO amarrado lá saca… mas essa manipulação q to achando complicado
Isso você resolve colocando a data inicial na coluna dt_turno.
O resto é tudo tratamento Javascript.
Por exemplo:
Se você colocar que o turno começa hoje as 21h e ele tem 30min de duração. (Obs: Talvez seja bom colocar a duração do turno na tabela TURNO também)
Toda vez que o usuário logar o sistema irá buscar a data 2009-09-30 21:00:00:00.
Quando o usuário logar, vamos supor as 21:05, o sistema irá buscar a data 2009-09-30 21:00:00:00, adicionar o tempo do turno(30min) e subtrair a data atual.
Ficaria: 21:00:00 + 30 - 21:30:00 - 21:05:00 = 00:25:00 = 25 minutos restantes.
Essa operação com as datas será feita com Javascript e com tempo de refresh de 1s.
Assim simulará um contador, certo?
Obs.: Os dados do turno você só busca ao entrar na página. O resto deixe com o JS rodando no cliente.
[quote=yorgan]Isso você resolve colocando a data inicial na coluna dt_turno.
O resto é tudo tratamento Javascript.
Por exemplo:
Se você colocar que o turno começa hoje as 21h e ele tem 30min de duração. (Obs: Talvez seja bom colocar a duração do turno na tabela TURNO também)
Toda vez que o usuário logar o sistema irá buscar a data 2009-09-30 21:00:00:00.
Quando o usuário logar, vamos supor as 21:05, o sistema irá buscar a data 2009-09-30 21:00:00:00, adicionar o tempo do turno(30min) e subtrair a data atual.
Ficaria: 21:00:00 + 30 - 21:30:00 - 21:05:00 = 00:25:00 = 25 minutos restantes.
Essa operação com as datas será feita com Javascript e com tempo de refresh de 1s.
Assim simulará um contador, certo?
Obs.: Os dados do turno você só busca ao entrar na página. O resto deixe com o JS rodando no cliente.
[]´s
Daniel[/quote]
pow massa sim sim… gostei oh… boa ideia mesmo… e tem outra coisa… digamos ele vai fazer qualquer coisa vai demorar 2 turnos… c ele sair do jogo e voltar so daqui digamos 30 minutos… cada turno tem 10 minutos a ação já tem q ter concluida mesmo ele não tando logado saca… pq a ideia é so esperar aquela quantia de tempo pra fazer a ação do jogo da uma olhada ai que talvez vc consiga visualizar bem melhor … http://www.projeto-genesis.com:8080/ProjetoGenesis/ qualquer coisa me adiciona rockstore6@hotmail.com