Ver Mensaje Individual
  #14 (permalink)  
Antiguo 15/07/2006, 03:04
Znet
 
Fecha de Ingreso: marzo-2002
Ubicación: Salta Capital - Actualmente estudiando en Córdoba
Mensajes: 430
Antigüedad: 22 años, 1 mes
Puntos: 0
Mensaje

Bueno para eso, tendrias que consultar en la base de datos y traes esos valores, luego en el evento onload de la etiqueta body, cargas las funciones


Código PHP:
<body onload="cargaProvincia('<?=id_pais?>');cargaLocalidad('<?=id_provincia?>')">
Aunque con esto consigues que cuando se carga la pagina, obtengas las provincias y las cuidades del pais que ya esta cargado en la base de datos, faltaria modificar estas funciones para que quede seleccionada la provincia y la localidad, ejemplo
Cuando se toma Argentina de la base de datos es facil hacer que
<option value="102" selected>Argentina</option>
Ya que este dato lo traemos de la base de datos, ahora con de arriba solo obtendremos todas las provincias y las localidades de Argentina.

Para que aparezcan seleccionadas, a esas funciones, hay que pasarles otro parametro, que será el respectivo valor de Provincia y Localidad, quedando estas funciones asi

cargaProvincia
Código PHP:
function cargaProvincia(id_prov,item_select)
{
    
ajax=nuevoAjax();
    
ajax.open("GET""includes/combos.php?prov="+id_prov+"&item="+item_select+"&num_ale="+Math.random(), true);
    
ajax.onreadystatechange=function() 
    { 
        if (
ajax.readyState==4)
        { 
            
document.getElementById("prov").innerHTML=ajax.responseText;
        } 
    }
    
ajax.send(null);        

cargaLocalidad
Código PHP:
function cargaLocalidad(id_loc,item_select)
{
    
ajax=nuevoAjax();
    
ajax.open("GET""includes/combos2.php?loc="+id_loc+"&item="+item_select+"&num_ale="+Math.random(), true);
    
ajax.onreadystatechange=function() 
    { 
        if (
ajax.readyState==4)
        { 
            
document.getElementById("loc").innerHTML=ajax.responseText;
        } 
    }
    
ajax.send(null);        

Donde id_prov=id_pais // Esto trae todas las provincias del pais seleccionado
Donde item_select=id_provincia // Esto sirve para dejar seleccionada la provincia
-----------------------------------------------------------
Donde id_loc=id_prov // Esto trae todas las localidades de la provincia seleccionada
Donde item_select=id_loc // Esto sirve para dejar seleccionada la ciudad


Luego en tus PHP haces la clasica comprobacion en el while, y preguntas si ($_GET['
item']==$row['id_prov'])?"selected":"";
y para el php de localidades
($_GET['item']==$row['id_localidad'])?"selected":"";

Por consiguiente, si realizas un insert, tus nuevas funciones para que sirvan para un insert o para un Update como este segundo caso, tendran que pasar 2 argumentos

<Select name=paises onchange=cargaProvincia(this.value,0)>
</select>

<Select name=provincia onchange=cargaLocalidad(this.value,0)>
</select>

Bueno espero que se haya entendido, es cuestion de renegar un poquito, espero les sirva de orientacion, avisen si les sirve, yo lo trabaje de esta forma para combos con 6 selects dependientes y no tuve dramas.
Ha me olvidaba si algun gurú sabe alguna otra forma que la comente, por ahi hay alguna forma mas sencilla de hacerlo.

Saludos!
__________________
Nada es imposible, con un poco de esfuerzo se logran las cosas.-