Se puede hacer con Javascript o con PHP...
Es preferible con Javascript porque para hacerlo en PHP necesitás recargar la página cada vez que cambia el valor del combo 1.
Te dejo un ejemplo de como lo hice yo con Javascript.
En PHP igual deberías cargar las opciones al principio en la funcion zona de javascript
Código HTML:
<html>
<head>
<script language="javascript">
function addOpt(oCntrl, iPos, sTxt, sVal){
var selOpcion=new Option(sTxt, sVal);
eval(oCntrl.options[iPos]=selOpcion);
}
function zona(inm) {
addOpt(document.buscar.Zona, 0, "Todas", "");
var a = 1;
while(document.buscar.Zona.options[a] != null) {
document.buscar.Zona.options[a]=null;
a += 1;
}
if (inm == "Edificios en block") {
addOpt(document.buscar.Zona, 0, "Todas", "");
addOpt(document.buscar.Zona, 1, "Norte GBA", "Norte GBA");
addOpt(document.buscar.Zona, 2, "Catalinas", "Catalinas");
addOpt(document.buscar.Zona, 3, "Puerto Madero", "Puerto Madero");
}
if (inm == "Industrias") {
addOpt(document.buscar.Zona, 0, "Todas", "");
addOpt(document.buscar.Zona, 1, "Oeste GBA", "Oeste GBA");
addOpt(document.buscar.Zona, 2, "Norte GBA", "Norte GBA");
}
if (inm == "Oficinas") {
addOpt(document.buscar.Zona, 0, "Todas", "");
addOpt(document.buscar.Zona, 1, "Macrocentro Norte", "Macrocentro Norte");
addOpt(document.buscar.Zona, 2, "Puerto Madero", "Puerto Madero");
}
}
</script>
</head>
<body onLoad="zona(document.buscar.TipoInmueble.value)"></body>
<form name="buscar">
<select class="formElement" name="TipoInmueble" onChange="zona(this.value)">
<option value="Oficinas">Oficinas</option>
<option value="Industrias">Industrias</option>
<option value="Edificios en block">Edificios en block</option>
</select>
<select class="formElement" name="Zona"></select>
</form>
</body>