tainá Postado Julho 20, 2010 Denunciar Share Postado Julho 20, 2010 Olá galera!Sou nova aki no scriptbrasil e estou com um probleminha...preciso fazer com que minha página php faça uma atualização automática somente quando for inserida mais uma linha na minha tabela do banco de dados...por exemplo, é uma aplicação para vários usuários...quando um deles inserir algo no banco...a página do outro que está visualizando é atualizada...alguém tem uma idéia de como posso fazer??obrigada!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Norivan Oliveira Postado Julho 20, 2010 Denunciar Share Postado Julho 20, 2010 Tem muitas formas de fazer isso, você pode simplesmente usar a meta refresh do html.<META HTTP-EQUIV="Refresh" CONTENT="3;URL=listagem.php"> Usar Ajax<script language="javascript"> function createRequestObject() { var req; if(window.XMLHttpRequest){ // Firefox, Safari, Opera... req = new XMLHttpRequest(); } else if(window.ActiveXObject) { // Internet Explorer 5+ req = new ActiveXObject("Microsoft.XMLHTTP"); } else { // There is an error creating the object, // just as an old browser is being used. alert("Your Browser Does Not Support This Script - Please Upgrade Your Browser ASAP"); } return req; } // Make the XMLHttpRequest object var http = createRequestObject(); function sendRequest(page) { // Open PHP script for requests http.open('get', page); http.onreadystatechange = handleResponse; http.send(null); } function handleResponse() { if(http.readyState == 4 && http.status == 200){ // Text returned FROM the PHP script var response = http.responseText; if(response) { // UPDATE ajaxTest content document.getElementById("msgstatus").innerHTML = response; } } } function repeatloop() { sendRequest('listagem.php'); setTimeout("repeatloop()", 20000); } window.onload=function() { repeatloop(); } </script>Ou mesmo usar o Cron Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 tainá Postado Julho 21, 2010 Autor Denunciar Share Postado Julho 21, 2010 mas este código funciona para atualizar a página somente quando inserir um registro no banco??o código que fiz foi o seguinte:<?php mysql_connect('localhost', 'root', '123') or die("Não foi possível estabelecer uma conexão com o banco de dados !"); mysql_select_db("teste") or die("Não foi possível selecionar o banco de dados !"); $sql = "select codigo from tabela1"; $consulta = mysql_num_rows(mysql_query($sql))or die(mysql_error()); function cons(){ mysql_connect('localhost', 'root', '123') or die("Não foi possível estabelecer uma conexão com o banco de dados !"); mysql_select_db("teste") or die("Não foi possível selecionar o banco de dados !"); $sql = "select codigo from tabela1"; $aux = mysql_num_rows(mysql_query($sql))or die(mysql_error()); $consulta = $GLOBALS["consulta"]; echo "consulta global ".$consulta; if ($consulta != $aux){ echo '<script>history.go();</script>'; $GLOBALS["consulta"] = $aux; } }?><script language="javascript"> var timer = window.setInterval('teste()',1000); function teste(){ <? echo cons();?> }</script>mas não funciona....alguém sabe me dizer o erro? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Woody Postado Julho 23, 2010 Denunciar Share Postado Julho 23, 2010 mas este código funciona para atualizar a página somente quando inserir um registro no banco??o código que fiz foi o seguinte:<?php mysql_connect('localhost', 'root', '123') or die("Não foi possível estabelecer uma conexão com o banco de dados !"); mysql_select_db("teste") or die("Não foi possível selecionar o banco de dados !"); $sql = "select codigo from tabela1"; $consulta = mysql_num_rows(mysql_query($sql))or die(mysql_error()); function cons(){ mysql_connect('localhost', 'root', '123') or die("Não foi possível estabelecer uma conexão com o banco de dados !"); mysql_select_db("teste") or die("Não foi possível selecionar o banco de dados !"); $sql = "select codigo from tabela1"; $aux = mysql_num_rows(mysql_query($sql))or die(mysql_error()); $consulta = $GLOBALS["consulta"]; echo "consulta global ".$consulta; if ($consulta != $aux){ echo '<script>history.go();</script>'; $GLOBALS["consulta"] = $aux; } }?><script language="javascript"> var timer = window.setInterval('teste()',1000); function teste(){ <? echo cons();?> }</script>mas não funciona....alguém sabe me dizer o erro?Confusão de conceitos.Javascript é client side (roda apenas no lado cliente).PHP é server side (roda apenas no lado servidor [dá pra fazer outras coisas, mas isso não vem ao caso]).No script informado, não aparecerá nada pois não tem como o PHP executar algo no cliente.Então, conforme o Norivan postou e de acordo com sua necessidade, há apenas a possibilidade do AJAX.Uma dica: pode-se realizar um count(*) da tabela e caso tenha alguma modificação com o último valor passado atualizar a página interia.Espero ter ajudado.Qualquer dúvida, posta aí. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
tainá
Olá galera!
Sou nova aki no scriptbrasil e estou com um probleminha...
preciso fazer com que minha página php faça uma atualização automática somente quando for inserida mais uma linha na minha tabela do banco de dados...
por exemplo, é uma aplicação para vários usuários...quando um deles inserir algo no banco...a página do outro que está visualizando é atualizada...
alguém tem uma idéia de como posso fazer??
obrigada!!
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.