Este es un ejemplo con jquery, el ejemplo es solo para entiendas lo que te decia el codigo en si no funciona ademas de que lo hice al vuelo.
<?php
function addItem($array){
// Esta es una funcion que agrega un nuevo item
.
.
.
$this->cambioNumero(); // Cuando se genera cambios en la db, cambiamos el numero
}
function cambioNumero(){
// En esta funcion actualizamos el numero por uno nuevo
$numeroNuevo = rand(); // Generamos un nuero aleatorio $sql = 'UPDATE numero SET numValor = '.$numeroNuevo.' WHERE numId = 1';
$do->query($sql);
}
?>
<?php
//devolverNumero.php
if (isset($_GET['dato'])) { $json = $_GET['dato']; // Nuestro script en javascript pedira que los datos sean devueltos en formato json
$this->obtenerNumero();
}else{ $json = FALSE; }
public function obtenerNumero(){
// Obtenemos el numero de la db y lo mostramos por pantalla
$sql = 'SELECT numero WHERE numId = 1';
if ($json) { // Debolvemos los datos en formato json o no
$getNumero = $do->query($sql);
$array = array('numero' => , $getNumero); }else{
echo $do->query($sql);
}
}
?>
<?php include_once('devolverNumero.php'); ?>
<script type="text/javascript">
var numValor = <?php $this->obtenerNumero(); ?> // Mostramos en numero actual de la db
function refresh(tiempo) {
$.get("devolverNumero.php", { dato: "TRUE"}, // Hacemos la peticion pidiendo que los datos sean devueltos en formato json
function(json){
if ( numValor != json.numero ) // Si el numero es distinto del numero de la db refrescamos la pantalla
{
location.reload(TRUE) // Refrescamos la pantalla
}
});
}
refresh(5000); // Cada 5 segundos verificamos el numero que no haya sido cambiado
</script>