Cita:
Iniciado por Triby 1- Muestra el código de la función generaPaises()
2- Muestra también el código del script donde procesas el formulario
3- Haz un var_dump($_POST); en el script donde procesas el formulario para ver si están todos los datos que necesitas
Muchas gracias por responder. Este es el código:
Tengo un archivo php que genera la función para el select anidado:
Código PHP:
<?php
// 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(
"paises"=>"lista_paises",
"estados"=>"jardines"
);
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 REGION, JARDIN FROM $tabla WHERE COD_REGION='$opcionSeleccionada'") or die(mysql_error());
desconectar();
// Comienzo a imprimir el select
echo "<select name='".$selectDestino."' id='".$selectDestino."' onChange='cargaContenido(this.id)'>";
echo "<option value='0'>Elige</option>";
while($registro=mysql_fetch_row($consulta))
{
// Convierto los caracteres conflictivos a sus entidades HTML correspondientes para su correcta visualizacion
$registro[1]=htmlentities($registro[1]);
// Imprimo las opciones del select
echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
}
echo "</select>";
}
?>
Luego, el el archivo.php que ingreso los datos tengo esta función:
Código PHP:
<?php
function generaPaises()
{
include 'conexion.php';
conectar();
$consulta=mysql_query("SELECT ID_REGION, REGION FROM region");
desconectar();
// Voy imprimiendo el primer select compuesto por los paises
echo "<select name='paises' id='paises' 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>";
}
?>
Luego, en el campo de la tabla tengo este código que corresponde a la selección de región y jardín:
Código PHP:
<td nowrap="nowrap" align="right">REGION:</td>
<td><?php generaPaises(); ?></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">JARDIN:</td>
<td>
<select disabled="disabled" name="estados" id="estados">
<option value="0">Selecciona opción...</option>
</select>
</td>
Y en el código del insert, tengo lo siguiente en la parte del envío de datos:
Código PHP:
GetSQLValueString($_POST['paises'], "text"),
GetSQLValueString($_POST['estados'], "text"),
El código original usa "paises" y "estados", pero no he cambiado esto, solo lo adapté para lo que necesito, que es "region", "jardin".
Espero no sea muy extenso. Muchas muchas gracias