hola yp tambien tuve el mismo problema, alle dos soluciones en internet, al aplicarlas note que importa mucho la cantidad de datos que tendra cada combo box, y la segunda opcion, y eso lo malo que no tengo el URL de donde lo obtuve por eso de los virus en mi compu, consistente en manejar Iframe.
a continuacion te muestro lo que hice yo
solo que a diferencia tuya yo considere Departamento, Provincia y Localidad, por la geopolitica de mi pais
<script language="javascript">
<?php
/**************simulacion***************/
$query="select * FROM provincia ";
$result =$db->execute($query)
//mysql_query ($query, $link);
?>
// FUNCION DE COMBO BOX COMBINADO
function sublist(inform, selecteditem)
{
inform.provincia.length = 0
<?php
$count= 0;
$y=0;
while ($row=$result->fetchRow())
//mysql_fetch_array($result))
{
?>
x = <?=trim($y);?>;
prov = new Array();
provincia_desc = "<?=$row['NOMBRE_PROVINCIA']; ?>";
provincia_cod_index = "<?=$row['DEPARTAMENTO_ID']; ?>";
provincia_cod = "<?=$row['PROVINCIA_ID']; ?>";
prov[x,0] = provincia_desc;
prov[x,1] = provincia_cod_index;
prov[x,2] = provincia_cod;
if (prov[x,1] == selecteditem) {
var option<?=trim($count); ?> = new Option(prov[x,0], prov[x,2]);
inform.provincia.options[inform.provincia.length]=option<?=trim($count)?>;
}
<?php
$count = $count + 1;
$y = $y + 1;
}
?>
}
</SCRIPT>
los combos en el html se llaman "DEPARTAMENTO, PROVINCIA y LOCALIDAD" en esa jerarquia
ENTONCES en el combo Departamento asegurate de obtener el ID del departamento (en este caso) y el nombre, es decir el <option value="ID_departamento">nombre departamento</option>
y para activar el contenido del combo PROVINCIA utiliza el evento
onchangeen el select departamento llamando a la funcion hecha en java script
algo asi
<select size="1" id="departamento" name="departamento" onChange = "javascript:sublist(this.form, departamento.value);">
<option>seleccione un Dpto</option>
<?php
$query2="select * from departamento";
$result2=$db->Execute($query2);
//mysql_query($query2, $link);
while ($raw=$result2->fetchRow())
//mysql_fetch_array($result2))
{
?>
<option value="<?=$raw['DEPARTAMENTO_ID'];?>"> <?=$raw['NOMBRE_DEPARTAMENTO']?></option>
<?php
}
?>
</SELECT>
y el combo de provincia quedaria algo asi
<SELECT id="provincia" name="provincia" size="1" >
<Option value="vacio"> provincia</option>
<option> </option>
<option> </option>
<option> </option>
<option> </option>
</SELECT>
para localidad haces lo mismo solo que contruyes la funcion con la misma carcteristica que para provincia y lo llamas desde el combo provincia que seria la segunda en la jerarquia
esta es una muy buena opcion, pero el incoveniente que yo tenia es que mis localidades pasaban los 1000 registros por provincia, y no es que seamos un pais grande solo que aqui, todos manejan para su control, sus propios criterios de localidad,
esto generaba una pagina de de aproximadamente 2 M, eso, impedia el dinamismo del javascript asi que alle otra opcion con iframes
lo malo de todo esto es que no tengo los link de los creadores de esta idea, la anterior solo es una adaptacion de de asp a php que ya lo realizaron
y lo del iframe solo tengo el comprimido y no su direccion del creador
en fin espero que te sirva