Código PHP:
<?php
function generaPaises()
{
include 'conexion2.php';
conectar();
$consulta=mysql_query("SELECT id, opcion FROM lista_paises");
desconectar();
// Voy imprimiendo el primer select compuesto por los paises
echo "<select name='paises' id='paises' onChange='cargaContenido(this.id)' style='font-size:10pt; font-family:Verdana;text-align:left;background-color:gainsboro;color:black;'>";
echo "<option value='0'>Elige</option>";
while($registro=mysql_fetch_row($consulta))
{
echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
}
echo "</select>";
}
?>
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"=>"lista_estados",
"instructor"=>"lista_instructores",
"finicio"=>"finicio",
"ffin"=>"ffin",
"turno"=>"turno",
"dias"=>"dias",
);
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 'conexion2.php';
conectar();
$consulta=mysql_query("SELECT id, opcion FROM $tabla WHERE relacion='$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>";
}
?>
bueno el codigo funciona perfectamente pero el detalle viene en que este codigo ajax lo estoy usando para sacar unos datos de la base de datos y ponerlo en diferentes select cuando hago el envio de datos para almacenarlos en otra tabla con otros campos resulta que me rellena todos los campos bien excepto los que usan el codigo en ajax, ya que estos mismos los rellena en vez de con el nombre los llena con el identificativo y necesito obligatoriamente que en el campo ese me llene los nombres ya que luego tengo que imprimir una pantalla en la cual deben mostrarse los nombres y los usuarios deben imprimirla.. me pueden ayudar a solucionar esto por favor!?