Ir para conteúdo

POWERED BY:

Arquivado

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

jonathas_oliveira

atualizar uma div sem dar refresh em toda pagina

Recommended Posts

Olá pessoal beleza?

 

 

Estou com um problema ele é o seguinte:

 

<div id="alerta_mensagem">
		<img src="../imagens/layout/msg_ico.png" alt="Caixa de Mensagens" width="55" height="45" border="0" />
		<p><a href="#" title="Caixa de Mensagens">Você tem (3) mensagens não lida</a></p>
	</div>

essa div quero fazer ela responssavel para aisar o usuario que ele tem algumas mensagens que ele não leu

só que queria que ela ficasse atualizando de 1 em 1 minuto por exemplo e trazendo novas informações...

 

como eu posso estar fazendo isso?

 

 

fico aguardando sugestões ou um exemplo ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

você terá que fazer uma função em ajax que faz essa consulta no banco verificando quantas mensagens o usuário tem,

quando tiver a resposta você muda o conteúdo da mensagem, e para fazer isso depende de como você está fazendo o seu programa.

 

Abssss

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este é um exemplo que montei no php para verificars as mensagens não lidas...

Funciona bacana.. mais preciso mesmo de atualizar com Ajax quem sabe...

 

 

código = pesquisa_mensagem.php

<?php
	require_once("conexao/Database.php");
	require_once("conexao/config.inc.php");
	
	$DB = new Database;
	$para = 41378;
	
	$sql = "select TITULO_MSG, DATA_ENVIO, CORPO_MSG ";
	$sql = "from web_mensagem ";
	$sql = "where PARA_USUARIO_ID = '$para' and STATUS_MSG = 'n' ";

	$DB->consultar($sql);
	$total = $DB->count;
	
	if($total == 0) {
		die($SystemConf["USER_INVALIDO"]);
	}

	echo "Mensagens não lidas (".$total.") <br/>";

	$DB->fechar();
?>

 

Este código ficaria na index e tbm em outras paginas do sistema

 

<div id="alerta_mensagem">
		<img src="../imagens/layout/msg_ico.png" alt="Caixa de Mensagens" width="55" height="45" border="0" />
		<p><a href="#" title="Caixa de Mensagens"><?php require_once("pesquisa_mensagem.php"); ?></a></p>
	</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este é um exemplo que montei no php para verificars as mensagens não lidas...

Funciona bacana.. mais preciso mesmo de atualizar com Ajax quem sabe...

 

 

código = pesquisa_mensagem.php

<?php
	require_once("conexao/Database.php");
	require_once("conexao/config.inc.php");
	
	$DB = new Database;
	$para = 41378;
	
	$sql = "select TITULO_MSG, DATA_ENVIO, CORPO_MSG ";
	$sql = "from web_mensagem ";
	$sql = "where PARA_USUARIO_ID = '$para' and STATUS_MSG = 'n' ";

	$DB->consultar($sql);
	$total = $DB->count;
	
	if($total == 0) {
		die($SystemConf["USER_INVALIDO"]);
	}

	echo "Mensagens não lidas (".$total.") <br/>";

	$DB->fechar();
?>

 

Este código ficaria na index e tbm em outras paginas do sistema

 

<div id="alerta_mensagem">
		<img src="../imagens/layout/msg_ico.png" alt="Caixa de Mensagens" width="55" height="45" border="0" />
		<p><a href="#" title="Caixa de Mensagens"><?php require_once("pesquisa_mensagem.php"); ?></a></p>
	</div>

 

Jonathas segue abaxio como você deve fazer:

 

na sua pagina que esta a div você vai colocar esse script em Ajax.

 

<script>

 

var Ajax;

window.onload = function(){

 

processaAjax();

}

 

 

function processaAjax(){

if(window.XMLHttpRequest){

 

Ajax = new XMLHttpRequest();

}

else if(window.ActiveXObject){

 

Ajax = new ActiveXObject("Microsof.XMLHTTP");

}

 

 

 

function trataResposta(){

if(Ajax.readyState ==4){

if(Ajax.status ==200){

 

document.getElementById("alerta_mensagem").innerHTML = Ajax.responseText;

}else{

 

document.getElementById("alerta_mensagem").innerHTML = "Error...";

}

}else{

 

document.getElementById("alerta_mensagem").innerHTML = "Processando...";

}

}

 

 

 

 

var idUsuario = document.getElementById("idUsuario").value;

 

Ajax.open("POST","pesquisa_mensagem.php",true);

Ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

Ajax.onreadystatechange = trataResposta;

Ajax.send("idUsuario "+ idUsuario);

 

 

setTimeout("processaAjax()",100000);

}

</script>

 

e sua Div não vai precisar dar um require nela por que o Ajax retorna o echo da sua pagina pesquisa_mensagem.php na div.

 

 

Posta avisando se serviu ou não.

 

Abraços,

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.