Buenas,
Tengo el siguiente código
abro inciso ¿se puede de alguna manera más optima?
cierro inciso
En este pequeño ejemplo muestro el contenido de una tabla dentro de un DIV llamado "tabla1", y cada 5 segundos recarga la tabla.
La tabla de ejemplo tiene una celda que es el precio esta es la zona que puede variar.
Mi intención es marcar de alguna forma cuando el precio baje o suba.
La pregunta... creéis que esto lo debo hacer en el propio código donde se crea la tabla (
datos_ajax.php) o en el script principal que llama a la función ajax (
script.php)?
La siguiente sería, cómo implementarlo, alguna idea?
La tabla se generaría de forma automática leyendo los datos de la base de datos, tendría que hacer un script que cada 5 segundos me generase el fichero datos_ajax.php verdad?
Pero si tuviese que tener 200 tablas de precios, tendría que cada 5 segundos generar los 200 ficheros uno para cada tabla distinta? ¿se hace así en la realidad? o me estoy flipando... xD me parece muy heavy!
Muchas gracias de antemano!
datos_ajax.php script.php
Código PHP:
Ver original<html>
<head>
<title
>Obteniendo datos con AJAX
sin recargar pagina
</title
> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<script language="javascript" type="text/javascript">
var RequestObject = false;
var Archivo = 'datos_ajax.php'; //directorio donde tenemos el archivo ajax.php
window.setInterval("actualizacion_reloj()", 5000); // el tiempo X que tardará en actualizarse
if (window.XMLHttpRequest) //
RequestObject = new XMLHttpRequest();
if (window.ActiveXObject)
RequestObject = new ActiveXObject("Microsoft.XMLHTTP");
function ReqChange() {
// Si se ha recibido la información correctamente
if (RequestObject.readyState==4) {
// si la información es válida
if (RequestObject.responseText.indexOf('invalid') == -1)
{
// obtener la respuesta
var msgs
= RequestObject
.responseText
.split('|'); // Buscamos la div con id online
document.getElementById("tabla1").innerHTML = msgs[0];
}
else {
// Por si hay algun error
document.getElementById("tabla1").innerHTML = "Error llamando";
}
}
}
function llamadaAjax() {
// Mensaje a mostrar mientras se obtiene la información remota...
//document.getElementById("tabla1").innerHTML = "";
// Preparamos la obtención de datos
RequestObject.open("GET", Archivo , true);
RequestObject.onreadystatechange = ReqChange;
// Enviamos
RequestObject.send(null);
}
function actualizacion_reloj() {
llamadaAjax();
}
</script>
<body onload="llamadaAjax();">
<h2
>Obteniendo datos con AJAX
sin recargar pagina
</h2
> <div id="tabla1"></div>
</body>
</html>