Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/09/2003, 03:38
Avatar de Ferdy(Toledo)
Ferdy(Toledo)
 
Fecha de Ingreso: septiembre-2003
Ubicación: TOLEDO
Mensajes: 8
Antigüedad: 20 años, 7 meses
Puntos: 0
Pregunta Actualizar Select

Hola amigos, este es mi primer mensaje, en esto de HTML soy totalmente novato, ya que acabo de empezar. Trabajo, ó, intento trabajar con HTML, PHP y MYSQL.

Mi problema es el siguiente:

Tengo dos Select en un formulario, uno selecciona una provincia y el otro una localidad, estos selects se nutren de una base de datos MySql en principio la select es fácil, me muestra todas las provincias y todas la localidades, pero lo que yo quisiera es que cuando seleccionara una provincia (evento onChange, creo, ¿no?) se me actualizara el select de las localidades, mostrando sólo los que correspondan a la provincia seleccionada, ¿como lo hago?, lo he intentado de mil formas, bueno, sin exagerar, sólo novecientas, y me estoy volviendo loco. Aquí os envio el código.
¡¡Muchas Gracias por anticipado!!


<html>

<head>
<title> Mi título... /title>


</head>
<body class="bodyFondo">

<?

...
...


// Definimos variables globales
global $provincia, $localidad, $consultasql, $resultado;

if ($provincia=="") { $provincia="TODAS"; }
$localidad="TODAS";


// Incluyo el fichero de conexión a la Base de Datos.
include("modules/Centros/conexion.php");
ConectaBaseDeDatos();
// Incluyo el fichero de funciones
include("modules/Centros/ffcentros.php");
// Creo la sentencia SQL
$consultasql = sentenciasql($provincia, $localidad);

?>

...
...


<form name="frm1" method="post" action="modules.php?name=Centros&file=listado">
<!-- <script language="JavaScript" type="text/JavaScript" src="centros.js"></script> -->
<table width="100%" border="0">
<tr>
<td width="10%"></td>
<td width="10%">Provincia:</td>
<td>


<? $cadenachange="location.href='modules.php?name=Cen tros&file=index'&provincia=" .$provincia; ?>
<select name="provincia" onChange="<? print($cadenachange) ?>" >

<? $consultaprov ="SELECT * FROM provincias ORDER BY provincia"; ?>
<option value="<? echo $provincia ?>" selected><? echo $provincia ?></option>
<?
$rs = mysql_query($consultaprov, $conexion);
$filas=mysql_num_rows($rs);
if ($filas > 0) {
while ($filas = mysql_fetch_array($rs)) {
$prov=$filas[provincia];
?>
<option value="<? print($prov) ?>" >
<? print($prov) ?> </option>
<?
} // Fin del While
} // Fin del if ($filas > 0
?>
</select></td>
</tr>
<tr>
<td width="10%"></td>
<td width="10%">Localidad:</td>
<td><select name="localidad" >
<option value="<? echo $localidad ?>" selected><? echo $localidad ?></option> <?
$resultado = mysql_query($consultasql, $conexion);
$filas=mysql_num_rows($resultado);
if ($filas > 0) {
$xxx="";
while ($filas = mysql_fetch_array($resultado)) {
$loc=$filas[localidad];
if ($loc!=$xxx) { // Para que no se repitan los municipios en la lista.
$xxx=$filas[localidad];
?>
<option value="<? print($loc) ?>" >
<? print($loc) ?> </option>
<?
} // Fin del if (loc!=$xxx)

} // del while
} // del if($filas > 0)
?>
</select></td>
</tr>
</table>

<!-- Botón Buscar -->
<table width="100%" border="0">
<tr>
<td width="10%"></td>
<td><input type="image" src="modules/Centros/imagenes/Buscar.gif" name="Buscar"></td>
<!-- <td><input type="submit" value="Buscar" name="Buscar"></td> -->
</tr>
</table>
</form>


</body>
</html>

Última edición por Ferdy(Toledo); 02/08/2005 a las 05:13