Saludos! Recurro a ustedes porque estoy estancado y ya no lo veo con claridad.
Os pongo en situación: Tengo tres páginas PHP, la primera conexion.php que se conecta a la base de datos, la segunda select_dependientes.php donde se almacena el select y se obtienen los datos de las provincias, y por último select_dependientes_progreso.php donde se generan las poblaciones de cada provincia.
Os adjunto el código:
conexion.php
Código PHP:
<?php
function conectar()
{
mysql_connect("localhost", "root", "");
mysql_select_db("san_lorenzo");
}
function desconectar()
{
mysql_close();
}
?>
select_dependientes.php
Código PHP:
<?php
header('Content-Type: text/html; charset=iso-8859-1');
function generaProvincias()
{
include 'conexion.php';
conectar();
$consulta=mysql_query("SELECT id, opcion FROM lista_provincias");
// Voy imprimiendo el primer select compuesto por los paises
echo "<select size='30' name='provincias' id='provincias' onChange='cargaContenido(this.id)'>";
echo "<option value='0'>Elige</option>";
while($registro=mysql_fetch_row($consulta))
{
echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
}
echo "</select>";
}
?>
<html>
<head>
<meta http-equiv="conten-type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="select_dependientes.css">
<script type="text/javascript" src="select_dependientes.js"></script>
</head>
<body>
<div id="demo" style="width:600px;">
<div id="demoDer">
<select disabled="disabled" name="poblaciones" id="poblaciones" >
<option value="0">Selecciona opción...</option>
</select>
</div>
<div id="demoIzq"><?php generaProvincias(); ?></div>
</div>
</body>
</html>
select_dependientes_progreso.php
Código PHP:
<?php
header('Content-Type: text/html; charset=iso-8859-1');
// Array que vincula los IDs de los selects declarados en el HTML con el nombre de la tabla donde se encuentra su contenido
$listadoSelects=array(
"provincias"=>"lista_provincias",
"poblaciones"=>"lista_poblaciones"
);
function validaSelect($selectDestino)
{
// Se valida que el select enviado via GET exista
global $listadoSelects;
if(isset($listadoSelects[$selectDestino])) return true;
else return false;
}
function validaOpcion($opcionSeleccionada)
{
// Se valida que la opcion seleccionada por el usuario en el select tenga un valor numerico
if(is_numeric($opcionSeleccionada)) return true;
else return false;
}
$selectDestino=$_GET["select"]; $opcionSeleccionada=$_GET["opcion"];
if(validaSelect($selectDestino) && validaOpcion($opcionSeleccionada))
{
$tabla=$listadoSelects[$selectDestino];
include 'conexion.php';
conectar();
$consulta=mysql_query("SELECT distinct * FROM $tabla WHERE id='$opcionSeleccionada' order by opcion asc") or die(mysql_error());
desconectar();
// Comienzo a imprimir el select
echo "<select size='30' name='".$selectDestino."' id='".$selectDestino."' onChange='cargaContenido(this.id)'>";
echo "<option value='0'>Elige</option>";
while($registro=mysql_fetch_row($consulta))
{
// Imprimo las opciones del select
echo "<option value='".$registro[1]."'>".$registro[0]."</option>";
}
echo "</select>";
}
?>
Quiero almacenar los valores seleccionados en ambas listas en una base de datos mysql. Me imagino que necesitaría un botón para enviar los datos y una consulta SQL pero ya estoy que no lo veo de ninguna forma.
Un saludo y gracias por sus respuestas