Ir para conteúdo

POWERED BY:

Arquivado

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

rochajl

Função ou script rodar automaticamente e atualizar pagina

Recommended Posts

Olá. Estou o dia pesquisando sobre isso e não achei algo que me atendesse. Necessito rodar automaticamente via PHP uma estrutura de comandos sql. A estrutura está funcionando perfeitamente quando abro a página. O problema é que preciso que de tempo em tempo este bloco de comandos seja repetido automaticamente, sem interferência do usuário. O resultado deste bloco de comando é visualizado em uma tabela via html e esta também deve sofrer refresh. Funcionou com: <?php echo "<meta HTTP-EQUIV='refresh' CONTENT='10;URL=tabela1.php'>"; ?>, mas o problema é que tenho uma div com que fica trocando imagens e quando utilizo esta opção, toda a página é recarregada, fazendo com que as imagens sejam recarregadas desde a primeira novamente.

Resumindo: tenho um bloco de comandos sql que deve ser repetido de tempo em tempo (os comandos estão funcionando, só não consigo fazer a repetição). Eles atualizam uma tabela e as informações da mesma são vistas em uma tabela via html que também deve sofrer um refresh. Desde já, agradeço quem puder colaborar.

 

Seria a mesma dúvida deste post: http://forum.imasters.com.br/topic/365285-atualizacao-dinamicamente-sem-refresh/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui. Segue para quem precisar:

 

Segue: http://www.youtube.com/watch?v=ZvR22u5-hQQ e http://rafaelcouto.com.br/atualizar-div-de...-com-php-xajax/

 

Criei a função:

 

<script language="javascript" type="text/javascript">
var http = false;

if (window.ActiveXObject){
http = new ActiveXObject("Microsoft.XMLHTTP");
} else {
http = new XMLHttpRequest();
}


function chamaphp(){
http.abort();
http.open("GET", "tabprodutos.php"); //Monta a tabela com os dados que quero. Neste arquivo dou o include para os comandos sql.
http.onreadystatechange=function() {
if(http.readyState == 4){
document.getElementById('tabprodutos').innerHTML = http.responseText; //Nome da div onde o tabprodutos.php vai ser montado
}
}
http.send(null);
}

setInterval("chamaphp()", 5000) //chama a função de 5 em 5 segundos

</script>

 

 

No arquivo onde monto o tabprodutos.php:

 

<body onload="chamaphp()">

...
...

<div id="tabprodutos"> </div>

...
...

</body>

 

É isso. 99% funcionando, pois somente no segundo refresh a tabela é atualizada, pois acredito que primeiro o php monta a tabela trazendo as informações do banco e só depois atualiza. No segundo refresh ele monta novamente a tabela com os dados atualizados e da o comando novamente e assim sucessivamente.

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.