Ir para conteúdo
Fórum Script Brasil
  • 0

Atualização de página php


tainá

Pergunta

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

  • 0

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

Link para o comentário
Compartilhar em outros sites

  • 0

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?

Link para o comentário
Compartilhar em outros sites

  • 0
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 '&lt;script>history.go();</script>';

$GLOBALS["consulta"] = $aux;

}

}

?>

&lt;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í.

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...