Tengo este archivo llamado minibuscador.php que está conectado con una base de datos Mysql y que contiene 3 menús desplegables. Cuando selecciono "actividad" todo bien pero cuando selecciono en el segundo campo la "provincia" se refresca y no me muestra las "zonas" que es el tercer campo.
Lo raro es que tengo el mismo archivo en otro servidor y funciona perfectamente. No se si hay que incluir o quitar algo porque el otro servidor tiene php4 y este php5.
Os agradecería que me ayudáseis. Gracias.
http://www.realhotel.es/minibuscador.php
<? require ("includes/conn.php");
$rcat = mysql_query("SELECT * from categorias order by nombre", $link);
if (!$comunidad)
$rprovincias = mysql_query("SELECT * from provincias order by nombre", $link);
else
$rprovincias = mysql_query("SELECT * from provincias where comunidad=$comunidad order by nombre", $link);
if ($idprovincia) {
$rzonas = mysql_query("SELECT * from zonas where idprovincia=$idprovincia order by nombre", $link);
$zonas = mysql_fetch_array($rzonas);
}
$categorias = mysql_fetch_array($rcat);
$provincias = mysql_fetch_array($rprovincias);
?>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"&idactividad="+form.actividad.value+"'");
}
function Validar(){
if (form.empresa.value!='Empresa o Profesional' && form.empresa.value!=''){
}else{
if (form.provincia.value==''){
alert ('Debe seleccionar alguna Provincia');
return false;
}else if (form.actividad.value==''){
alert ('Debe seleccionar alguna Actividad');
return false;
} else if (form.provincia.value==''){
alert ('Debe seleccionar alguna Provincia');
return false;
}else{
return true;
}
}
}
function Limpiar(){
if (form.empresa.value=='Empresa o Profesional')
form.empresa.value='';
}
//-->
</script>
<link href="estilos.css" rel="stylesheet" type="text/css">
<body bgcolor="#EAEAEA" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="318" height="150" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top">
<table width="318" border="0" cellspacing="3" cellpadding="0">
<form name="form" action="buscar.php" target="_top" onsubmit="return Validar();">
<tr>
<td align="left"><img src="images/spacer.gif" width="100%" height="10"></td>
</tr>
<tr>
<td align="left"><input name="empresa" type="text" class="caja_bordeazul" id="empresa" value="Empresa o Profesional" size="30" onFocus="Limpiar();"></td>
</tr>
<tr>
<td align="left"> <select name="actividad" class="caja_bordeazul" id="actividad">
<option value="" selected>Actividad o servicio</option>
<? do{
if ($idactividad==$categorias["id"]){?>
<option value="<? echo $categorias["id"]; ?>" selected><? echo $categorias["nombre"]; ?></option>
<? }else{ ?>
<option value="<? echo $categorias["id"]; ?>"><? echo $categorias["nombre"]; ?></option>
<? }
}while($categorias = mysql_fetch_array($rcat)); ?>
</select> </td>
</tr>
<tr>
<td align="left"><select name="provincia" class="caja_bordeazul" id="provincia" onChange="MM_jumpMenu('self',this,0)">
<option value="" selected>Provincias</option>
<? do{
if ($idprovincia==$provincias["id"]){?>
<option value="minibuscador.php?idprovincia=<? echo $provincias["id"]; ?>" selected><? echo $provincias["nombre"]; ?></option>
<? }else{ ?>
<option value="minibuscador.php?idprovincia=<? echo $provincias["id"]; ?>"><? echo $provincias["nombre"]; ?></option>
<? }
}while($provincias= mysql_fetch_array($rprovincias)); ?>
</select></td>
</tr>
<tr>
<td width="50%" align="left">
<? if ($idprovincia){?>
<select name="zonas" class="caja_bordeazul" id="zonas">
<? do{ ?>
<option value="<? echo $zonas["id"]; ?>"><? echo $zonas["nombre"]; ?></option>
<? }while($zonas = mysql_fetch_array($rzonas)); ?>
</select>
<? }else{ ?>
<select name="zonas" class="caja_bordeazul" id="zonas">
<option value="" selected>Zonas</option>
</select>
<? } ?>
</td>
</tr>
<tr>
<td align="right"> <input name="imageField3" type="image" src="images/boton_buscar.gif" width="63" height="16" border="0"></td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</body>