PHP - php-mysql-ajax-javascript

 
Vista:

php-mysql-ajax-javascript

Publicado por diego (1 intervención) el 30/07/2008 01:29:15
buenas =( el problema que tengo, es que la capa no se actualiza aqui esta todo explicado lo que hago =S..... tengo en una pagina html simplemente esto:
<script>
setInterval("muestra()",2000);
setInterval("muestra2()",20000);
</script>
aparte tambien tengo dos capas una llamada "capa" y la otra "capa2" que es donde vere los resultados...
la funcion script muestra tiene esto:

function muestra(){
//alert("sdfsdf");
divResultado = document.getElementById('capa');
ajax=objetoAjax();
ajax.open("GET", "trae.php");
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
divResultado.innerHTML = ajax.responseText
}
}
ajax.send(null)
}
///la funcion llama a objetoAjax() q es esto:
function objetoAjax(){
var xmlhttp=false;
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}

if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
....
luego la funcion muestra2 q llamo en el setInterval("muestra2()",20000) tiene esto:
function muestra2(){
//alert("sdfsdf");
divResultado = document.getElementById('capa2');
ajax=objetoAjax();
ajax.open("GET", "trae2.php");
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
divResultado.innerHTML = ajax.responseText
}
}
ajax.send(null)
}
q es exactamente lo mismo q muestra, con la diferencia que llama a trae2.php, y muestra() llama es a trae.php...
la paguna trae.php y trae2.php hacen exactamente lo mismo y tienen esto de codigo:
<?php
$conexion2 = mysql_connect("localhost", "root", "");
mysql_select_db("jj",$conexion2);
$sql2=mysql_query("SELECT * FROM nombres",$conexion2);
/*if(!mysql_fetch_array($sql2))
echo 'no hay';*/
while($row2 = mysql_fetch_array($sql2)){
echo $row2['nom'];
}
?>
////
en la base de datos tengo guardado estos 4 valores: diego, jose, guerero, garcia
como pueden ver muestra() se llama cada 2 segundos, mientras que muestra2() cada 20 segundos... entoncs corro la primera vez, a los dos segundos lo que se muestra en la capa "capa" es: diegojoseguerrerogarcia... de una vez me voy a la base de datos y borro directamente el valor "garcia", y luego cuando corre a los 20 segundos muestra2 me coloca en la capa esto: diegojoseguerrero.............. como podran notar no coloca el garcia, pero muestra me sigue colocando en la capa "capa" : diegojoseguerrerogarcia.... y ps hay es el problema q me sta colocando los datos q habian anteriormente... le agrego yle quito a la base de datos luego de eso varios valores y las funciones ajax me siguen colocando lo mismo en las capas.... AYUDAAAAAAAAAAAA!!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:php-mysql-ajax-javascript

Publicado por Diego Romero (1450 intervenciones) el 30/07/2008 16:59:30
Da la impresión que se trata de un tema de caché del navegador. Ajax no es inmune a esto. En "capa" en vez de preguntar al servidor toma la página que está en caché que obviamente no está actualizada, es la misma que cargó la primera vez.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar