Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ejecutar función php con pagina con ajax a cada cierto tiempo
Formulada hace 3 años y 2 meses Activa hace 3 años y 2 meses Vista 6k veces
necesito ejecutar una función php (que ejecuta una consulta) cada cierto tiempo, entiendo que es
con ajax pero la función tiene que estar en el mismo archivo que la función de ajax que lo va a
0 ejecutar. GRACIAS!
<?php
function update(){
//query
}
?>
<script> //ajax que ejecuta funcion </script>
<html>//poner la función php en alguna parte del html para poder llamarla desde ajax
</html>
¿Lo vas a ejecutar en el lado del cliente o del servidor? si es en el lado del cliente es como dices, solo
incluye la función ajax como indicas en el código y cada vez que un cliente conecte, lanzará una petición
contra el servidor cada cierto tiempo, pero si es en el lado del servidor, debería ser un cron (para entornos
gnu/linux). – track3r el 22 feb. 18 a las 20:13
https://es.stackoverflow.com/questions/140653/ejecutar-función-php-con-pagina-con-ajax-a-cada-cierto-tiempo 1/3
3/5/2021 jquery - Ejecutar función php con pagina con ajax a cada cierto tiempo - Stack Overflow en español
3 <?php
if(isset($_POST["action"])) { // Se pasa una acción
switch(sprintf("%d", $_POST["action"]))) { // ¿Qué acción?
case 1:
update(); // Llamar a tu función
echo "Tarea completada!";
break;
default:
echo "Error: Falta una acción";
}
}
function update() {
//query
}
?>
<script>
$(function() { // Ojo! uso jQuery, recuerda añadirla al html
cron(); // Lanzo cron la primera vez
function cron() {
$.ajax({
method: "POST",
url: "index.php", // Podrías separar las funciones de PHP en un fichero
a parte
data: {
action: 1
}
}).done(function(msg) {
console.log(msg);
});
}
setInterval(function() {
cron();
}, 10000); // Lanzará la petición cada 10 segundos
});
</script>
0 Ejemplo:
https://es.stackoverflow.com/questions/140653/ejecutar-función-php-con-pagina-con-ajax-a-cada-cierto-tiempo 2/3
3/5/2021 jquery - Ejecutar función php con pagina con ajax a cada cierto tiempo - Stack Overflow en español
timer = setInterval("update()", 5000);
Compartir Mejora esta respuesta editada el 23 feb. 18 a las 0:48 respondida el 22 feb. 18 a las 20:13
Seguir Mariano mafewo
24k 19 67 98 21 3
Fíjate que la función que quiere ejecutar es parte de php, por lo que no puedes llamar la función
directamente y tienes que usar ajax. – track3r el 22 feb. 18 a las 20:15
gracias, en por eso explique que en update realizas la llamada ajax. me equivoco al respecto? – mafewo el
22 feb. 18 a las 20:17
0
function throttle(f, delay){
var timer = null;
return function(){
var context = this, args = arguments;
clearTimeout(timer);
timer = window.setTimeout(function(){
f.apply(context, args);
},
delay || 750);
};
}
En los argumentos que acepta esta función pondrías el nombre de tu función y el tiempo en
milisegundos de retraso en la ejecución. Mas o menos así:
throttle(miFuncion(), 10000);
https://es.stackoverflow.com/questions/140653/ejecutar-función-php-con-pagina-con-ajax-a-cada-cierto-tiempo 3/3