Tengo la siguiente SQL y no consigo que funcione ¿Qué puede estar mal?
Código PHP:
$sql = "SELECT t_facultad.*, t_facultad_x_departamento.*, t_departamentos_facultad.*
FROM t_facultad_x_departamento
INNER JOIN t_departamentos_facultad ON
t_facultad_x_departamento.iddpto = t_departamentos_facultad.iddpto
WHERE t_facultad.idfacultad =".$_GET["tFa"];
$rsDepartamento = mysql_query($sql);
$numdpt = mysql_num_rows($rsDepartamento);
for ($i=0; $i<$numdpt ;$i++){
$id[$i] = mysql_result($rsDepartamento,$i,0);
$descrip[$i] = mysql_result($rsDepartamento,$i,3);
if ($_GET['tDpt'] == $id[$i]){
echo "<option value=\"".$id[$i]."\" selected>".$descrip[$i]."</option>";
}else{
echo "<option value=\"".$id[$i]."\">".$descrip[$i]."</option><br>";
}
}
Código PHP:
if (($_GET["tFa"]!="") or ($_GET["tFa"]!="S")){
$sql = "SELECT t_facultad_x_departamento.*, t_departamentos_facultad.*
FROM t_facultad_x_departamento
INNER JOIN t_departamentos_facultad ON
t_facultad_x_departamento.iddpto = t_departamentos_facultad.iddpto";
$rsDepartamento = mysql_query($sql);
$numdpt = mysql_num_rows($rsDepartamento);
//Funciona. Carga todos los valores que corresponden con la tabla "t_facultad_x_departamento"
for ($i=0; $i<$numdpt ;$i++){
if (mysql_result($rsDepartamento, $i, 0) == $_GET["tFa"]){
$id[$i] = mysql_result($rsDepartamento,$i,0);
$descrip[$i] = mysql_result($rsDepartamento,$i,3);
if ($_GET['tDpt'] == $id[$i]){
echo "<option value=\"".$id[$i]."\" selected>".$descrip[$i]."</option>";
}else{
echo "<option value=\"".$id[$i]."\">".$descrip[$i]."</option><br>";
}
}
}
} //fin if $_GET["tFa"]
Este segundo método no creo que sea el más apropiado porque:
1. Obtengo todos los registros de una tabla de los cuales solo voy a cargar unos cuantos en el select (y lo voy filtrando en el segundo método)
2. La opción más automatizada o más rápida creo que sería la primera, que en la SQL ya obtenga solo los valores que voy a cargar y con el bucle for los cargue directamente en el select. (Pero esta es la que no consigo que me funcione)
¿Alguna idea o sugerencia del problema que puede ser?
Un saludo.