Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/06/2007, 11:15
Avatar de carlosmbrizuela
carlosmbrizuela
 
Fecha de Ingreso: enero-2007
Ubicación: La Plata (Argentina)
Mensajes: 490
Antigüedad: 17 años, 10 meses
Puntos: 1
select a partir de un xml

Mi problema es el siguiente:

Tengo una pagina con dos select. El segundo debe actualizarce a partir del primero.

Lo que no se hacer es como recorrer el xml que me envia el servidor.

Asi formo el xml

Código PHP:
<?
include('funciones.php');
$edo $_GET['loc'];
        
$sql="select * from parloc where codpar = 1";//.$edo;
        
$res=mysql_query($sql);
        
$xml "<?xml version='1.0'><localidades><localidad>";
        while (
$row mysql_fetch_array($res))
        {    
            
$id=$row['codloc'];            
            
$desc=$row['descripcion'];
            
$xml .="<id>".$id."</id>";
            
$xml .= "<desc>".$desc."</desc>";
            
//echo "<option value='".$id."'> ".$desc." </option>";        
        
}
        
$xml .= "<localidad></localidades></xml>";
        echo 
$xml;
?>
desde otro php lo que quiero hacer es formar el selec con el xml enviado

este es el codigo. No pongo la funcion de crear el objeto :).

Lo que si, no me doy cuenta como recorrer el xml formando los tag de option.

Código PHP:
function cargarContenido(){
var d1,contenedor;

contenedor = document.getElementById('contenedor');
localidad = document.getElementById('locadidad');
//contenedor es el <div> , donde al final pintaremos el nuevo select
d1 = document.QForm.partido.options[document.QForm.partido.selectedIndex].value; 
//d1 = document.getElementById('localidad').value;
// recibimos en una variable el valor del estado elegido

ajax=nuevoAjax();
//aqui creamos una instancia del objeto ajax

ajax.open("GET", "procesos.php?loc="+d1,true);
// con esto enviamos al archivo .php el valor del estado para que sea ejecutado

ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
   //En esta parte del código, se revisa cuando el ha sido procesada la carga del AJAX
   contenedor.innerHTML = ajax.responseXML;
   //CON en esta línea, decimos que pinte el resultado en nuestro div "contenedor"
   localidad.value=respuesta.getElementsByTagName("desc")[0].childNodes[0].data;
}
}
ajax.send(null)
// aqui se hace el envio del objeto
}
</script> 
<link href="paleta.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="titulo" >Fichero de Inmuebles</div>
<form method="post" action="guardar_fichero.php" onSubmit="return validar();" name="QForm">

        Partido

        <select name="partido" id="partido" style="width:100% " onChange="cargarContenido(this.partido)">
        <?
        $sql
="select * from partidosnac";
        
$res=mysql_query($sql);
        while (
$row=mysql_fetch_array($res))
        {
        
$id=$row['codpar'];
        
$desc=$row['descripcion'];
        echo 
"<option value=$id>".$desc."</option>";        
        }
        
?>

            
        </select>
      
        

<div id="contenedor">

        <select name="localidad" id="localidad" style="width:100%" >
            <option> </option>
        
</div>

</select>
saludos.
__________________
http://www.rollermountain.com