¡Advertencia!
Este tema no ha tenido respuestas en más de un mes. Recuerda que si deseas añadir una nueva debes cumplir con las normas de la web.
Hola amigos de la programación:
Tengo un div con PHP dentro, y me gustaría refrescar la información de este PHP cada 10 segundos. ¿Qué debería de hacer? Llevo muchos scripts por internet pero ninguno ha funcionado...
Tengo un div con PHP dentro, y me gustaría refrescar la información de este PHP cada 10 segundos. ¿Qué debería de hacer? Llevo muchos scripts por internet pero ninguno ha funcionado...
Amante de los gremlins y todos los seres extraños.
Deberías usar Javascript e incluirlo con Jquery y programar una función que lo recarga cada x segundos, eso si puede hacerse creo.
Exactamente como dice Martín.
Con JavaScript: (código a)
Y lo llamas con: (código b)
Utilizando la librería jQuery: (código c)
Luego para poner un intervalo: (código d)
Elige si lo quieres hacer con jQuery o sin ella. Sin ella son los códigos a, b y d; con ella los códigos c y d.
EDITO: ' y "e; son comillas, que no sé por qué no salen bien.
Con JavaScript: (código a)
function loadXMLDoc(page, cb) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 ) {
if(xmlhttp.status == 200){
cb(xmlhttp.responseText);
} else {
// código para manejar el error
}
}
}
xmlhttp.open("GET", page, true);
xmlhttp.send();
}
Y lo llamas con: (código b)
loadXMLDoc('mi_pagina.php', function(data) {
document.getElementById("id_del_div").innerHTML = data;
});
Utilizando la librería jQuery: (código c)
$.get('mi_pagina.php', function(data) {
$("#id_del_div").html(data);
});
Luego para poner un intervalo: (código d)
setInterval(function() {
// código b ó c
}, tiempo_en_milisegundos);
Elige si lo quieres hacer con jQuery o sin ella. Sin ella son los códigos a, b y d; con ella los códigos c y d.
EDITO: ' y "e; son comillas, que no sé por qué no salen bien.
Exactamente como dice Martín.
Con JavaScript: (código a)function loadXMLDoc(page, cb) { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 ) { if(xmlhttp.status == 200){ cb(xmlhttp.responseText); } else { // código para manejar el error } } } xmlhttp.open("GET", page, true); xmlhttp.send(); }
Y lo llamas con: (código b)loadXMLDoc('mi_pagina.php', function(data) { document.getElementById("id_del_div").innerHTML = data; });
Utilizando la librería jQuery: (código c)$.get('mi_pagina.php', function(data) { $("#id_del_div").html(data); });
Luego para poner un intervalo: (código d)setInterval(function() { // código b ó c }, tiempo_en_milisegundos);
Elige si lo quieres hacer con jQuery o sin ella. Sin ella son los códigos a, b y d; con ella los códigos c y d.
EDITO: ' y "e; son comillas, que no sé por qué no salen bien.
¿Entonces debería quedar algo así?
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
function loadXMLDoc(page, cb) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 ) {
if(xmlhttp.status == 200){
cb(xmlhttp.responseText);
} else {
// código para manejar el error
}
}
}
xmlhttp.open("GET", page, true);
xmlhttp.send(); }
setInterval(function() {
loadXMLDoc('./includes/php/infou.php', function(data) {
document.getElementById("callinfo").innerHTML = data;
});
}, 3000);
</script>
<div id="callinfo"></div>
Amante de los gremlins y todos los seres extraños.
Sí. Te lo arreglo un poco:
PD: Intenta identar/tabular cuando programes, porque es mucho más fácil entender el código.
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
function loadXMLDoc(page, cb) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 ) {
if(xmlhttp.status == 200){
cb(false, xmlhttp.responseText);
} else {
cb(true);
}
}
}
xmlhttp.open('GET', page, true);
xmlhttp.send();
}
$(document).ready(function() {
setInterval(function() {
loadXMLDoc('./includes/php/infou.php', function(err, data) {
if(err) {
// Error
} else {
$('#callinfo').html(data);
}
});
}, 3000);
});
</script>
<div id="callinfo"></div>
PD: Intenta identar/tabular cuando programes, porque es mucho más fácil entender el código.
Exactamente como dice Martín.
Con JavaScript: (código a)function loadXMLDoc(page, cb) { var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 ) { if(xmlhttp.status == 200){ cb(xmlhttp.responseText); } else { // código para manejar el error } } } xmlhttp.open("GET", page, true); xmlhttp.send(); }
Y lo llamas con: (código b)loadXMLDoc('mi_pagina.php', function(data) { document.getElementById("id_del_div").innerHTML = data; });
Utilizando la librería jQuery: (código c)$.get('mi_pagina.php', function(data) { $("#id_del_div").html(data); });
Luego para poner un intervalo: (código d)setInterval(function() { // código b ó c }, tiempo_en_milisegundos);
Elige si lo quieres hacer con jQuery o sin ella. Sin ella son los códigos a, b y d; con ella los códigos c y d.
EDITO: ' y "e; son comillas, que no sé por qué no salen bien.
¿Entonces debería quedar algo así?
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
function loadXMLDoc(page, cb) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 ) {
if(xmlhttp.status == 200){
cb(xmlhttp.responseText);
} else {
// código para manejar el error
}
}
}
xmlhttp.open("GET", page, true);
xmlhttp.send(); }
setInterval(function() {
loadXMLDoc('./includes/php/infou.php', function(data) {
document.getElementById("callinfo").innerHTML = data;
});
}, 3000);
</script>
¡Conseguido! Muchas gracias!!:P
Amante de los gremlins y todos los seres extraños.
Que guay quedó. A ver si arreglamos las etiquetas code xd
Realmente no sé en qué estaba pensando... Con jQuery quedaría así:
Perdona XDDDDDDDDDDDDDDD
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
setInterval(function() {
$.get('./includes/php/infou.php', function(data) {
$('#callinfo').html(data);
});
}, 3000);
});
</script>
<div id="callinfo"></div>
Perdona XDDDDDDDDDDDDDDD