Alterar banco de dados em determinado horario.
Senhores,
Eu tenho o seguinte problema:
Tenho que atualizar um banco de dados em um determinado horário. Tipo alterar um dado em 10 minutos, ou 1 hora!
O problema é o seguinte como atualizar estes dados quando chegar este horário???
E se o usuário sair da pagina antes deste horário? Como atualizar esta pagina???
Eu peguei o código abaixo de um relógio feito em Ajax gostaria de manter este relógio na minha tela, porem como comparar este valor mostrado na tela e atualizar o banco?
Alguém tem uma solução!
Index.php
<html>
<style type="text/css">
span#span_relogio
{
font-family: Verdana, Arial, Helvetica, sans-serif;
color: #0000ff;
font-size: 9px;
}
</style>
<script language="javascript" type="text/javascript" src="script.js">
</script>
<span id="span_relogio"><div id="relogio"></div></span>
</html>
Relógio.php
<?php
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
echo date("d/m/Y H:i:s");
?>
Script.js
function loadXMLDoc(url)
{
req = null;
// Procura por um objeto nativo (Mozilla/Safari)
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send(null);
// Procura por uma versão ActiveX (IE)
} else if (window.ActiveXObject) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP.4.0"); //alert(req);} catch(e) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP.3.0"); //alert(req);
} catch(e) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP"); //alert(req);
} catch(e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP"); //alert(req);
} catch(e) {
req = false;
}
}
}
}
if (req) {
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send();
}
}
}
function processReqChange(){
// apenas quando o estado for "completado"
if (req.readyState == 4) {
// apenas se o servidor retornar "OK"
if (req.status == 200) {
// procura pela div id="news" e insere o conteudo
// retornado nela, como texto HTML
document.getElementById('relogio').innerHTML = req.responseText;
} else {
alert("Houve um problema ao obter os dados:n" + req.statusText);
}
}
}
function buscarTempo(){
loadXMLDoc("relogio.php");
}
// Recarrega a cada 60000 milissegundo (60 segundos)
setInterval("buscarTempo()", 1000);
Explicando melhor:
Eu tenho vários perfis cada perfil é um usuário.
Usuário 1
Usuário 2
Usuário 3
E assim por diante.
Digamos que o Usuário 1 executa uma tarefa e esta tarefa atualizará o banco de dados em 10 minutos, ele terá o relógio na tela e se possível poderá executar outras tarefas, e quando der o horário automaticamente a atualização será feita. Ou então ele vai sair da pagina, quando ele voltar então eu vou verificar se já passou 10 minutos e vou atualizar a tela senão passou vai continuar a contagem.
Porem um outro usuário poderá acessar o perfil do usuário 1 para leitura somente, caso não tenha passado 10 minutos ele somente irá ver o que está no banco de dados atual. Caso o tempo se complete durante a estadia deste usuário na pagina ai haverá uma atualização. E também tem a opção deste outro usuário acessar a pagina após o tempo de 10 minutos ai antes deste ver a tela, a atualização será feita e mostrada para ele?
Deu para entender RS.....
É meio complicado, e acredito que difícil de se fazer, com certeza terá que se usar o Ajax, e eu não manjo de Ajax... Alguém pode me ajudar???
Discussão (4)
Carregando comentários...