Como t dijieron, lo mas eficiente es usar AJAX para no tener q recargar la pagina al cargar el 2º select.....
Debes descargarte el archivo AJAX llamado "xajaxAIO.inc.php"....t muestro un ej sencillo de cuales son los pasos....El + comun es el tipico Pais y Provincia...
Código PHP:
require_once("xajax_core/xajaxAIO.inc.php");
$xajax = new xajax();
$xajax->registerFunction("getLocalidades_in_cmbLocalidad");
function getLocalidades_in_cmbLocalidad($idProvincia)
{
$localidades = new ArrayObject();
$localidadDAO = new LocalidadDAO();
$localidades = $localidadDAO->getLocalidadesByIdProvincia($idProvincia);
$print = "<select name=\"cmbLocalidad\"> <option selected>Seleccione una localidad</option>";
for($i = 0; $i < $localidades->count(); $i++)
{
$print.= "<option value='".$localidades[$i]->getIdLocalidad()."'>".$localidades[$i]->getNombre()."</option>";
}
$print .= "</select>";
$respuesta = new xajaxResponse();
$respuesta->assign("localidades","innerHTML", $print);
//tenemos que devolver la instanciación del objeto xajaxResponse
return $respuesta;
}
En el <head> debes insertar esto para poder visualizar los datos...
Código PHP:
<?php $xajax->printJavascript(); ?>
y luego el formulario constaria de...
Código PHP:
<select name="cmbProvincia" onchange="xajax_getLocalidades_in_cmbLocalidad(this.value)" id="cmbProvincia">
<option>Seleccione una provincia</option>
<?php
getProvincias_in_cmbProvincia(); //Tus provincias
?>
</select>
<label>Localidad: </label>
<div id="localidades">
<select name="cmbLocalidad" id="cmbLocalidad">
<option selected>Seleccione una localidad</option>
</select>
</div>
</br>
Espero t sirva.....Saludos