Estoy haciendo una especie de chat y tengo el siguiente problema que cuando llamo al archivo chat2.php mediante ajax, la primera vez tira los resultados bien, pero si yo inserto datos en la base, y como el ajax se actualiza cada 2 segundos, no se refresca el resultado sino que mantiene siempre el primero.
el archivo chat.php tiene el siguiente ajax
<script type="text/javascript" charset="utf-8">
window.setInterval("actualizacion_reloj()", 2000);
function updatechat() {
ajaxUrl("chat2.php");
return false;
}
function actualizacion_reloj() {
updatechat();
}
function ajaxUrl(busca) {
http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Falla :( No es posible crear una instancia XMLHTTP');
return false;
}
http_request.onreadystatechange = alertContents;
http_request.open('GET', busca, true);
http_request.send(null);
}
function alertContents() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
document.getElementById('chat').innerHTML = http_request.responseText;
} else {
alert('Hubo problemas con la peticion.');
}
}
}
</script>
y el archivo chat2.php tiene lo siguiente:
<?php require_once('../Connections/localhost.php'); ?>
<?php
mysql_select_db($database_localhost, $localhost);
$query_dia = "SELECT nombre, comentario, DATE_FORMAT(fecha,'%d-%m-%Y') AS fecha FROM debate ORDER BY id DESC";
$dia = mysql_query($query_dia, $localhost) or die(mysql_error());
$row_dia = mysql_fetch_assoc($dia);
$totalRows_dia = mysql_num_rows($dia);
?>
<?php if ($totalRows_dia > 0) { //Vemos si hay dias ?>
<?php do { ?>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="5">
<tr>
<td><b><?php echo $row_dia['nombre']; ?>, <?php echo $row_dia['fecha']; ?></b></td>
</tr>
<tr>
<td><br /><?php echo $row_dia['comentario']; ?></td>
</tr>
<tr>
<td><hr /></td>
</tr>
</table><br />
<?php } while ($row_dia = mysql_fetch_assoc($dia)); ?>
<?php } // Show if recordset not empty
else
echo "<div align='center'><b>*No hay comentarios*</b></div>"
// muestra cuando no hay registros ?>
si alguien sabe cual es el problema se lo agradeceria.