Tengo el siguiente script que me funciona ok al querer insertar un registro. De acuerdo al campo que elija en el combo se me van desplegando las opciones con AJAX en el campo de abajo.
El problema es al querer editar el registro que esta insertado, no me toma los campos en los combos que tiene guardado cada registro en las tablas de la base.
En el primer combo que lo lee de la funcion generaSelect logre que leyera el campo que trae de la variable $_SESSION["idEdificio"] . Pero el segundo me aparece inactivo, es decir que no puedo hacer que lea el campo de la tabla ni tampoco que esté habilitado como para que me muestre las opciones.
archivo select_dependientes_3_niveles.php
Código PHP:
function generaSelect()
{
include 'conexion.php';
conectar();
$consulta=mysql_query("SELECT * FROM scEdificio");
desconectar();
// Voy imprimiendo el primer select compuesto por los paises
echo "<select name='select1' id='select1' onChange='cargaContenido(this.id)'>";
echo "<option value='0'>Elige</option>";
while($registro=mysql_fetch_row($consulta))
{
echo "<option value='".$registro[0]."'" ;
if ($registro[0] == $_SESSION["idEdificio"]) { echo "selected=selected"; }
echo ">".$registro[1]."</option>";
}
echo "</select>";
}
Código HTML:
<tr> <th><div align="left">Edificio:</div></th> <th width="145"><?php generaSelect(); ?></th> </tr> <tr> <th><div align="left">Montante:</div></th> <th><select disabled="disabled" name="select2" id="select2"> <option value="0">Selecciona opción...</option> </select></th> </tr> <tr> <th><div align="left">Equipo:</div></th> <th><select disabled="disabled" name="select3" id="select3"> <option value="0">Selecciona opción...</option> </select></th> </tr>
archivo select_dependientes_3_niveles_proceso.php
Código PHP:
$listadoSelects=array(
"select1"=>"scEdificio",
"select2"=>"scMontante",
"select3"=>"scBloqueParCentral"
);
function validaSelect($selectDestino)
{
global $listadoSelects;
if(isset($listadoSelects[$selectDestino])) return true;
else return false;
}
function validaOpcion($opcionSeleccionada)
{
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 * FROM $tabla WHERE relacion='$opcionSeleccionada'") or die(mysql_error());
desconectar();
echo "<select name='".$selectDestino."' id='".$selectDestino."' onChange='cargaContenido(this.id)'>";
echo "<option value='0'>Elige</option>";
while($registro=mysql_fetch_row($consulta))
{
$registro[1] = htmlentities($registro[1]);
echo "<option value='".$registro[0]."'";
echo ">".$registro[1]."</option>";
}
echo "</select>";
}
SI PUEDEN DARME UNA MANO SERIA BUENISIMO !!!