Ir para conteúdo

Arquivado

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

montano

[Resolvido] Executar function minuto a minuto

Recommended Posts

boa noite pessoal,

 

Estou precisando executar uma function a cada minuto, eu fiz um script para ler um campo do meu BD quando eu dava um onchange(), porem agora eu preciso executar isso todo minuto.

 

tentei assim setTimeout('(showPedidos)',50) , mas nao funcionou. vou postar o codigo para voces terem uma noçao doque eu quero:

 

É que quando chegar um novo pedido no sistema, ele tem que aparecer na pagina sem precisar dar refresh.

 

pedido.php

<html>
<head>
<script type="text/javascript" src="js/pedidos.js"></script>
</head>
<body onload="showPedidos()"> 
<div id="pedidos"></div>
</body>
</html>

js/pedidos.js

var xmlhttp;

function showPedidos()
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Browser does not support HTTP Request");
  return;
  }
var url="control/pedidos.php";
url=url+"?sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function stateChanged()
{
if (xmlhttp.readyState==4)
{
document.getElementById("pedidos").innerHTML=xmlhttp.responseText;
}
}

function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  return new XMLHttpRequest();
  }
if (window.ActiveXObject)
  {
  // code for IE6, IE5
  return new ActiveXObject("Microsoft.XMLHTTP");
  }
return null;
}

control/pedidos.php

<?php
//include ('config/config.php');
require_once ('../model/model.php');

class Pedido extends Model
{
    function __construct($servidor, $usuario, $senha, $bd)
    {
        parent::__construct($servidor, $usuario, $senha, $bd);
    }
}

$obj = new Pedido('localhost','root','','apul');
$result = $obj->select('tb_pedidos','*',"WHERE status = '1'");
while ($row = mysqli_fetch_assoc($result)){
	echo "<div id='pedidos'>";
	echo '<p>' . $row['pedido'] . '</p>';
	echo '<p>' . $row['cliente'] . '</p>';
	echo "<p>" . $obj->dataOut($row['data']) ."</p>";
	echo '<p>' . $row['status'] . '</p>';
	echo '</div>';
}
?>

Como eu faço para executar showPedidos() a cada minuto?

 

vlw

 

OBS: Codigo esta ai para ser usado por quem quizer,beleza.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tentou assim:

 

JavaScript

window.onload = setInterval("showPedidos()", 60000);

O setTimeout executa o código especificado apenas uma vez, enquanto o setInterval executa o código especificado no intervalo declarado. :D

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

thiago,

 

tentei assim

 

<head>
<script>
window.onload = setInterval("showPedidos()", 60000);
</script>
</head>
e assim

<body onload="setInterval('howPedidos()', 60000)">

Não funcionou. :S estou fazedno certo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

<script type="text/javascript">
showPedidos();
setInterval("showPedidos()", 1000);
</script>

\o\ funcionou, voce sabe me dizer se tem como eu juntar esse setInterval la no meu arquivo .js?

para nao precisar tratar isso no pedido.php.. valeuu

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.