Recargar un include de php cada 5 minutos

Iniciado por Rata1960, 30 Septiembre 2017, 14:23 PM

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

Rata1960

Estoy programando con php, y no conozco de Jquery.

Dentro de mi pagina hago un include('mostrar.php');

Necesito que este se recarge cada 5 minutos sin actualizar la página.

Incorpore a la misma Jquery de esta manera

<script src="jquery-3.2.1.min.js" type="text/javascript"></script>

y luego en el cuerpo llamo al archivo de esta manera


<div class="example">
<ul class="nav">
<?php include('mostrar.php');
</ul>
</
div>


Desde ya les agradezco su ayuda

engel lex

el php se ejecuta solo una vez en el servidor y listo, despues de enviar al cliente se finaliza la ejecución, no hay más nada que puedas hacer con el...

para lo que quieres existen 2 posibilidades

una es iframes otra es ajax
-iframe es una pagina web dentro de otra, como una ventana, allí pordrías cargar en lugar del include, el archivo de este, y le puedes agregar como cabecera que se actualize cada 5 min

-ajax es una tecnica cruzada donde llamas a php con un jscript
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Rata1960

Cita de: engel lex en 30 Septiembre 2017, 17:49 PM
el php se ejecuta solo una vez en el servidor y listo, despues de enviar al cliente se finaliza la ejecución, no hay más nada que puedas hacer con el...

para lo que quieres existen 2 posibilidades

una es iframes otra es ajax
-iframe es una pagina web dentro de otra, como una ventana, allí pordrías cargar en lugar del include, el archivo de este, y le puedes agregar como cabecera que se actualize cada 5 min

-ajax es una tecnica cruzada donde llamas a php con un jscript

Eso es lo que estuve averiguando, pero no conseguí el código de JQuery para hacerlo, encima cambio la forma de hacer el load en el 3.1

engel lex

Código (html4strict) [Seleccionar]
<div id="receptor">aquí se actualizarán los datos</div>

Código (javascript) [Seleccionar]
$( "#receptor" ).load( "pagina_a_cargar.php" );


o lo haces con un timeout o similar
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Rata1960


engel lex

si no te funciona, muestra tu codigo js para ver
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Rata1960

Cita de: engel lex en 30 Septiembre 2017, 18:17 PM
Código (html4strict) [Seleccionar]
<div id="receptor">aquí se actualizarán los datos</div>

Código (javascript) [Seleccionar]
$( "#receptor" ).load( "pagina_a_cargar.php" );


o lo haces con un timeout o similar

Me funcionó, ahora debo conseguir el timeout

engel lex

Código (javascript) [Seleccionar]
setInterval(function(){ //llamamos como funcion anonima para resumir
 $( "#receptor" ).load( "pagina_a_cargar.php" );
}, 1000*60*5); // 1000 milisegundos por segundo, 60 segundos por minuto, 5 minutos


con esto debería bastar
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

WHK

Normalmente eso es una mala práctica, lo que debes hacer es ir a buscar los datos con ajax y modificar los datos de manera dinámica en el sitio web desde javascript o si quieres desplegar información en tiempo real debes usar websockets.

http://www.phpbuilder.com/articles/application-architecture/optimization/creating-real-time-applications-with-php-and-websockets.html
http://socketo.me/

Rata1960

#9
Cita de: engel lex en 30 Septiembre 2017, 18:42 PM
Código (javascript) [Seleccionar]
setInterval(function(){ //llamamos como funcion anonima para resumir
 $( "#receptor" ).load( "pagina_a_cargar.php" );
}, 1000*60*5); // 1000 milisegundos por segundo, 60 segundos por minuto, 5 minutos


con esto debería bastar

Muchisimas Gracias, Funciona Perfecto
Cita de: WHK en 30 Septiembre 2017, 18:45 PM
Normalmente eso es una mala práctica, lo que debes hacer es ir a buscar los datos con ajax y modificar los datos de manera dinámica en el sitio web desde javascript o si quieres desplegar información en tiempo real debes usar websockets.

http://www.phpbuilder.com/articles/application-architecture/optimization/creating-real-time-applications-with-php-and-websockets.html
http://socketo.me/

Amigo, Muchisimas Gracias. Lo resolví con la ayuda anterior, pero voy a leer sobre lo que Ud. me recomendó.

Como comentario le agrego que lo que cargo es una tabla hecha con php y mysql, y todavía no conozco ajax pero si empezaré a estudiarlo


· No hagas doble post
>aquí las reglas del foro
-Engel Lex