Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/09/2012, 08:04
emeotero
 
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Compostela
Mensajes: 126
Antigüedad: 13 años, 6 meses
Puntos: 0
comprobacion resultado consulta en Ajax

Hola,
en una consulta php imprimo el valor del numero de filas que me devuelve una query para poder hacer un alert. si tiene valores escribo un json en un fichero y si no muestro el alert.
Código PHP:
$rows pg_num_rows($result);
echo 
$rows ." fila(s) devuelta(s).\n";
if (
$rows != 0){
 
/* imprimo el json */
}else{
print 
$rows;

Ahora en un script ajax envio un formulario y le digo que me ejecute la consulta.php,
Código:
var xmlhttp; 
function xhr(formulario){ 
		if (window.XMLHttpRequest)
  			{
  				xmlhttp=new XMLHttpRequest();
	  		}
		else
	  		{
  				xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  		}
		xmlhttp.onreadystatechange = procesarRespuesta; 
		xmlhttp.open("POST", "consulta.php", true); 
		xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xmlhttp.setRequestHeader("Content-length", 3);
		xmlhttp.setRequestHeader("Connection", "close");
		xmlhttp.send(formulario);
}
entonces ahora quiero que si se cumple la condicion la aplicacion actualice un grid o si no que imprima un alert. entonces aqui es donde recojo el valor de $rows de consulta php ¿no?. Pense en hacerlo de este modo pero no me abre el mensajito de alert.
Código:
function procesarRespuesta(){
		if(xmlhttp.readyState == 4) {
      		if(xmlhttp.status == 200) {
				store.load();
			} else if(xmlhttp.responseText > 0){
					alert("no es lo que quiero");
			}
    }
}
esta funcion esta bien o esta mal? en principo no me falla la pagina, pero como digo no me hace el alert. si abro el firebug me muestra 0 fila(s) devuelta(s).
0. la parte de 0 fila(s) devuelta(s). es el echo $rows que hago en el php y el 0 es el print $rows; si no estoy equivocado, en la funcion procesarRespuesta le tengo que decir que me recoja ese valor del print y si se cumple la condicion que abra el alert ¿no?...