Ir para conteúdo

POWERED BY:

Arquivado

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

Fernandinho.php

Atualizar consulta ao php com ajax ?

Recommended Posts

pessoal , eu gostaria de saber como faz para , EX:

 

 

Estou fazendo um consulta a tabela usuarios na linha nome

 

 

o nome do usuario e : fernando

 

eu gostaria de quando eu alterasse esse nome para exemplo : fernandinho no banco de dados , ele atualizasse sozinho sem precisar dar f5 , por favor me ajudem . :innocent:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mano, acredito que o retorno da requisição ajax terá que sobscrever no lugar do conteúdo da div onde estava o nome Fernando.

 

Exemplo

 
<div id="mostrarnomes">
 
<p> Fernando<p>
<div>
// Na requisição Ajax
 
o retorno do php você coloca no lugar de onde está o nome Fernando 
 
$("#mostrarnomes").html(retornoDaRequisicaoNoPhp);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que o que você. quer é isso:

um script php (atualiza.php) que irá monitorar as alterações na coluna nome da tabela usuarios , assumindo que você. terá apenas um nome nessa tabela , pelo que você. disse

 

e uma HTML (index.html) com um javascript que irá fazer a chamada temporizada ao atualiza.php e atualizar o conteudo em uma tag html

 

atualiza.php

<?php

// para pegar do site e não do cache
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

// inicializa conexão com Mysql
$host='seu_host';	// seu host do mysql
$user='seu_user';	// seu user do mysql
$pass='seu_pass';	// sua senha do mysql

$global_dbh = mysql_connect($host,$user,$pass);
mysql_select_db($user,$global_dbh);

//  consulta ao BD
$query = "SELECT nome FROM usuarios";	// deveria ter uma clausula where aqui , mas enfim , é um exemplo apenas didático
$result = mysql_query($query);
$nome = mysql_fetch_array($result);		// assumimos aqui que teremos apenas um resultado

echo $nome['nome'];

?>

index.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script language="JavaScript">
<!--
var temporizador;

function atualiza_nome()
{
	var url = 'atualiza.php';
	temporizador = setInterval("loadXMLDoc(url)",1000);
}

// obtem objeto para requisição do navegador
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);
		
		// header para não guardar resultados no cache
        req.setRequestHeader('Content-Type',"application/x-www-form-urlencoded; charset=iso-8859-1");
        req.setRequestHeader("Cache-Control","no-store, no-cache, must-revalidate");
        req.setRequestHeader("Cache-Control","post-check=0, pre-check=0");
        req.setRequestHeader("Pragma", "no-cache");
			
        req.send(null);  
    }
	// Do contrário , Procura por uma versao ActiveX (IE)
	else if (window.ActiveXObject)
	{ 
        req = new ActiveXObject("Microsoft.XMLHTTP"); 
        if (req)
		{ 
            req.onreadystatechange = processReqChange; 
            req.open("GET", url, true);
			
			// header para não guardar resultados no cache
        	req.setRequestHeader('Content-Type',"application/x-www-form-urlencoded; charset=iso-8859-1");
        	req.setRequestHeader("Cache-Control","no-store, no-cache, must-revalidate");
        	req.setRequestHeader("Cache-Control","post-check=0, pre-check=0");
        	req.setRequestHeader("Pragma", "no-cache");
			
            req.send(); 
        } 
		else
		{
			clearInterval(temporizador);
			alert("Erro");
		}
    } 
	else
	{
		clearInterval(temporizador);
		alert("Erro");
	}
	
} 

// requisição de dados xmlhttp através do objeto do Navegador selecionado na função acima
function processReqChange()
{ 
    // apenas quando o estado for "completado" 
    if (req.readyState == 4)
	{ 
        // apenas se o servidor retornar "OK" 
        if (req.status == 200)
		{ 
			// pega a resposta
			var resposta = req.responseText;
			
			// coloca as respostas no Formulário
			if(resposta)
			{
				document.getElementById('atualiza_aqui').innerHTML  = resposta;
			}

        }
		else
		{ 
			alert("erro");
			clearInterval(temporizador);

        } 
    }

}

-->
</script>
</head>

<body onload="atualiza_nome()">
<p id="atualiza_aqui" name="atualiza_aqui">Aqui vai apareer o nome do BD</p>
</body>
</html>

Mas não faz muito sentido você. ter um Tabela com apenas uma linha e um nome dentro.

De qualquer maneira , isso deve servir para te dar uma luz no que você. quer

 

Abraço

Marcos Peli

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.