Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/07/2008, 04:58
etej
 
Fecha de Ingreso: enero-2008
Mensajes: 63
Antigüedad: 16 años, 4 meses
Puntos: 0
Mensaje AJAX y posicion donde mostrar la info

Hola!
Estoy en mis comienzos con AJAX y necesitaria si me pudieran orientar.
He logrado confeccionar un php que como resultado muestra una tabla con datos que se obtienen a partir de un query a la base.

PAIS Total
Argentina 100
Bolivia 50
Ecuador 80

A su vez cada pais constituye un link que permite desglozar la informacion del mismo en sus provincias. Es decir, si presiono en Argentina me listaria:

PROVINCIA Total
Bs. As. 70
Corrientes 12
Cordoba 8
Entre Rios 6
Santa Cruz 4

En codigo esto lo resolvi de la siguiente manera. El php principal:

$query= "SELECT pais, total FROM... ";
$res = mysql_query($query);

$nro_fila = 0;
while ($valor = mysql_fetch_array($res)){
$pais = $valor['pais'];
$total = $valor['total'];
?>
<tr>
<?php echo '<td class="normal" bgcolor="F6F3EB" align=center>'. '<a href="javascript:showPais(' ."'".$pais."'". ',' . $nro_fila . ')">' . nombre_pais($pais) . '</a>' .'</td>';?>
<td class="normal" bgcolor="F6F3EB"><b>$total</b></td>
</tr>
<tr>
<div id="<? echo "txtHint".$nro_fila; ?>"><b></b></div>
</tr>
<?
$nro_fila = $nro_fila+1;
}

En el php el div es donde se mostraria la info que se desgloza del pais correspondiente. Dado que necesito que se muestre abajo inmediatamente del pais, y es aca donde tengo mi cuestion... estoy intentando pasar un numero de fila concatenado en el nombre del div para que despues reconozca donde mostrarlo. Y es esto lo que me esta fallando... si en cambio lo pongo al principio o final de la tabla de paises me funciona perfectamente... pero no es lo que necesito...

Luego el js es:

var xmlHttp

function showPais(paisStr,filaInt)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="getpais.php"
url=url+"?pais="+paisStr
url=url+"&fila="+filaInt
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function stateChangedAnterior()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("txtHint".filaInt).innerHT ML=xmlHttp.responseText
}
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}


Y finalmente tengo el getpais.php donde esta todo el query sobre las provincias y que muestra la tabla con los resultados.

Me han hablado de usar JSON para el envio de los datos pero no tengo ni idea! Please si me pueden ayudar!

Gracias!