Ayuda refrescar php

Iniciado por ime, 11 Febrero 2013, 16:59 PM

0 Miembros y 1 Visitante están viendo este tema.

ime

Hola amigos programadores como puedo hacer q mi web php se refresque solo cuando se inserta un nuevo registro bd. ayuda porfavor.. Muchas gracias

EFEX

Con javascript podés actualizarlo cada un determinado tiempo
Código (javascript) [Seleccionar]

function refresh(tiempo) {
setTimeout("location.reload(true);",tiempo);
}

refresh(5000);  //Cada 5 segundos se actualizara la pagina
GITHUB 

ime

Gracias mi amigo, me gustaría saber como hacer que cuando se inserte un nuevo registro en la base de datos, se actualice la pagina. y si no se inserta nada en la base de datos pues que no se actualice la pagina. Gracias

EFEX

En la base de datos tendria guardado un número generado por php(el numero cambia cada vez que se hace cambios a la base de datos) entonces con js determino que cada x determinado tiempo consulte a la db el numero generado por php cuando se realizan cambios a la db, entonces comparo el numero generado por php y el numero guardado en la db, si es diferente refresco la pagina., si son iguales no.
GITHUB 

ime

Gracias amigo por tu respuesta, pero como es ese de guardar un numero generado por php tendria un pequeño ejemplo para guillarme te lo agradezco de antemano y muchas gracias.

EFEX

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.

Código (php) [Seleccionar]

<?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);
}
?>



Código (php) [Seleccionar]

<?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);
echo json_encode($array);
}else{
echo $do->query($sql);
}
}
?>



Código (php) [Seleccionar]

<?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>
GITHUB 

ime

#6
mmm... sorprendente mi amigo se ve que eres experto en programar mis respetos. te agradezco tu ayuda mil gracias y bendiciones para ti.

sinceramente estoy agradecido con tu respuesta.

<?php
function addItem($array){
   // Esta es una funcion que agrega un nuevo item
   .
   .  y aquí que va como es que hace la inserción en la base de datos o que hace?
   .
   $this->cambioNumero();  // Cuando se genera cambios en la db, cambiamos el numero
}

EFEX

No sé en que momento querés que se refresque la pagina, cuando se agrega un item?usuario?noticia? u otra cosa, solo era un ejemplo cuando haces una modificación a la db llamas a la funcion cambioNumero() para que cambie el numero actual guardado en la db.
GITHUB 

ime

quiero que la pagina se refresque cuando se inserte un nuevo registro en la base de datos, por ejemplo, digamos cuando se registre un usuario y si no se registra nigun usuario pues que no se refresque la pagina.