Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/07/2010, 12:45
Avatar de anacona16
anacona16
 
Fecha de Ingreso: marzo-2010
Ubicación: Bogota DC
Mensajes: 610
Antigüedad: 14 años, 8 meses
Puntos: 52
Select dependientes con JS, PHP y MySQL

Hola, este ya es un tema muy comentado, pero nunca habia podido hacerlo hasta que alguien me paso este codigo:

Código PHP:
<script Language="JavaScript" Type="text/javascript">
function CargaMunicVive() {
 var i=0;
 var longitud;
 var o = new Array;
 var indice=0;
 var valor;
 valor=(document.egresados.cmb_codidere.options[document.egresados.cmb_codidere.selectedIndex].value);
 <?php
  $result 
mysql_query("SELECT * FROM tb_departamentos ORDER BY id");
  
$row mysql_fetch_array($result);
  
  while(
$row mysql_fetch_array($result)){
    
$cddep=$row["id"];
    
$rest mysql_query("SELECT * FROM tb_municipios WHERE relacion='$cddep' ORDER BY id");
    
$rows mysql_fetch_array($rest);
    
    echo 
" if (valor=='$cddep') {\n";
    echo 
"   var j=0;\n";
    echo 
"   o[i++]=new Option('Elija un Municipio');\n";
    echo 
"   document.egresados.cmb_codimure.options[j]=o[j];\n\n";
    
    while(
$rows mysql_fetch_array($rest)) {
      
$cdmun=$rows["id"];
      
$dsmun=$rows["opcion"];
      echo 
"   o[i++]=new Option('$dsmun');\n";
      echo 
"   j=j+1;\n";
      echo 
"   document.egresados.cmb_codimure.options[j]=o[j];\n\n";
     }
    echo 
"document.egresados.cmb_codimure.length=o.length;\n";
    echo 
"}\n\n";
   } 
 
?>
}
</script>
Y este es el select donde cargo los departamentos

Código PHP:
<select name="cmb_codidere" id="cmb_codidere" onchange='CargaMunicVive()'>
                  <option selected="selected">Seleccione el departamento</option>
                <?php
                    $result
=mysql_query("SELECT * FROM tb_departamentos ORDER BY id");
                       
$row mysql_fetch_array($result);
                    
$i=1;
                    while(
$row mysql_fetch_array($result)) {
                        
$cddep=$row["id"];
                        
$dsdep=$row["opcion"];
                        echo 
"<option value='$cddep'>$dsdep</option>";
                        
$i++;
                    } 
                    
mysql_free_result($result);
                
?>
</select>
y este donde cargo los municipios

Código PHP:
<select name="cmb_codimure" id="cmb_codimure" onchange='CargaMunicNace()'>
                  <
option selected="selected">Seleccione el Municipio</option>
</
select
El problema es que no cargan el primer municipio del departamento seleccionado, ni tampoco el primer departamento que tengo en la tabla departamentos.

Espero me entiendan y puedan ayudarme gracias.

Última edición por anacona16; 23/07/2010 a las 13:39