
Ler Mysql E Exbir Iframe !
#1
Posted 25/10/2007, 00:46
Queria uma luz em relação ao que vou tentar explicar mais ou menos o que eu quero!
Tem um campo numa tabela no BD que o valor será 1 ou 0, queria que de 10 em 10 segundos a página fizesse a leitura desse campo sem dar refresh na página toda e quando esse valor for igual a um ele mostre um IFRAME ou um DIV ! =|
#2
Posted 04/11/2007, 20:04
eu estou usando um script muito bom.... que não estar dando conflito nem nada...
estou usando da seguinte maneira, tenho um cabecalho no meu painel de controle, onde ele coloca informação do logado, o tempo de logado, login, o nível do usuário, e mensagens..
essa área mensagens que eu uso o que você tá querendo para exibir mensagens novas e tal..
ai vai..
parte que faz isso da cab.php
<head>
<script src="js/ajax2.js" type="text/javascript" language="javascript"></script>
</head>
<table>
<tr>
<!-- os 15000 eh igual a 15 segundos -->
<td><script>setInterval(function(){ ajaxLoad('cab_mensagens.php','mensagens'); },15000);</script><img src="img/email.gif" alt='Mensagens' title='Mensagens'></td>
<!-- essa função tá aqui pelo motivo de quando entra na cab.php ele a executa, então após 15 segundos ele entra na cima, que são as mesmas, tem as mesmas finalidades -->
<td><div id="mensagens"><script>ajaxLoad('cab_mensagens.php','mensagens');</script></div></td>
</tr>
</table>
o arquivo ajax2.js que vc chama na cab.php
try{
xmlhttp = new XMLHttpRequest();
}catch(ee){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(E){
xmlhttp = false;
}
}
}
fila=[];
ifila=0;
function ajaxLoad(url, destino){
if(destino!=Object){ destino = document.getElementById(destino); }
if(destino.nodeName=="SELECT"){
while(destino.options.length>0)destino.options[0]=null;
destino.options[0]=new Option(" -- Aguarde -- "," -- Aguarde -- ");
} else {
destino.innerHTML="Carregando Conteúdo...";
}
fila[fila.length]=[url,destino];
if((ifila+1)==fila.length)ajaxRun();
}
function ajaxShow(valor,destino){
if(destino.nodeName=="SELECT"){
while(destino.options.length>0)destino.options[0]=null;
if(valor.charAt(0)=="[" && valor.charAt(valor.length-1)=="]"){
var destinoTmp=eval(valor);
for(var i=0;i<destinoTmp.length;i++){
destinoTmp[i][0]=unescape(destinoTmp[i][0]);
destinoTmp[i][1]=unescape(destinoTmp[i][1]);
destino.options[destino.options.length]=new Option(destinoTmp[i][1],destinoTmp[i][0]);
}
} else {
destino.options[destino.options.length]=new Option(valor,valor);
}
} else {
destino.innerHTML = unescape(valor.replace(/\+/g," "));
}
}
function ajaxRun(){
url = fila[ifila][0];
destino = fila[ifila][1];
xmlhttp.open("GET", url, true);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=ISO-8859-1");
xmlhttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
xmlhttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
xmlhttp.setRequestHeader("Pragma", "no-cache");
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4){
switch(xmlhttp.status){
case 200: { ajaxShow(xmlhttp.responseText,destino); break }
case 204: { ajaxShow("O servidor não respondeu ao chamado",destino); break }
case 400: { ajaxShow("Endereço inválido",destino); break }
case 403: { ajaxShow("Você não possui permissão para acessar esse arquivo",destino); break }
case 404: { ajaxShow("Arquivo não encontrado",destino); break }
case 500: { ajaxShow("Erro interno do servidor...",destino); break }
case 502: { ajaxShow("Servidor ocupado.",destino); break }
case 503: { ajaxShow("O servidor não respondeu no tempo limite",destino); break }
default: { ajaxShow("Algum erro ocorreu ao carregar este conteúdo...",destino); break }
}
ifila++;
if(ifila<fila.length)setTimeout("ajaxRun()",20);
}
}
xmlhttp.send(url);
}
conteudo da cab_mensagens.php
<?
session_start();
header("Content-Type: text/html; charset=ISO-8859-1",true);
include "conec.inc.php";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<?
$sql_new = mysql_query("SELECT * FROM msgs_interna WHERE id_para='$idu' AND s='1'");
$sql_all = mysql_query("SELECT * FROM msgs_interna WHERE id_para='$idu'");
$all = mysql_num_rows($sql_all);
$new = mysql_num_rows($sql_new);
if($new >= 1){
echo "<a href='caixa_entrada.php'><span style='text-decoration: blink; color: red'><b>Mensagens:</b> (<b>".$new."</b> / ".$all.")</span></a>";
}else{
echo "<a href='caixa_entrada.php'><b>Mensagens:</b> (".$new." / ".$all.")</a>";
}
?>
aquele include eh soh conexão com o banco de dados....
bom testae ai pra vc, vê se vai dar certo, aqui tah dando certinho...
---------------
Espero ter Ajudado alguém,
----------------------
Antes de postar, veja se realmente não tem outro jeito..
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)