Cita:
Iniciado por mortiprogramador
<saludo>
Pues teniendo en cuenta lo que se quiere lograr, hay algunas cosas a cambiar.
1. La consulta que se hace actualmente, al hacer JOIN entre
las tablas de carreras y oportunidadesXcarrera, solo traerá
las carreras que se han seleccionado al momento de ingresar el registro.
Solución? Dividir las consultas.
Es decir, la primera consulta a realizar sería solo a la tabla carreras,
y que el select dibuje todas estas.
A su vez, en ese ciclo, hacer la consulta del JOIN, y como ya se tiene
el idCarrera producto de la consulta inicial, se puede sumar a la segunda
consulta, es decir, algo así:
Código PHP:
$consulta2 = "SELECT * FROM oportunidadesXcarrera
WHERE oportunidades_id_op =".$result["id_op"]. " AND carrera_idCarrera = ".$fila["idCarrera"];
2. En este punto, ya sabremos sí la carrera que se está dibujando actualmente
tiene registro en la tabla oportunidadesXcarrera con el id_op y el carrera_idCarrera.
3. Producto del punto 2, podemos hacer la comparación entre $fila y $fila2,
y preguntar sí son iguales, y si lo son, entonces seleccione la opción
que esta dibujando en ese momento, algo así:
Código PHP:
<option value="<?php echo $fila['idCarrera'];?>" <?php if( $fila2['carrera_idCarrera'] == $fila['idCarrera'] ) echo 'selected'; ?> >
<?php echo $fila['nombreCarrera']; ?>
</option>
</saludo>
Muchas gracias por tu respuesta, seguro me servirá de mucho!
Según te entiendo sería algo parecido a esto, no?
Porque también tengo que recorrer la segunda consulta, pero al hacerlo sigue saliendo lo mismo.
Creo que también debo mejorar mucho mi lógica de programación.
Saludos.
Código PHP:
$consulta = "SELECT * FROM carreras";
$resultado = mysql_query($consulta, $conn);
?>
<select required class="form-control" style="width:400px;" multiple name="carrera[]">
<?php
while($fila=mysql_fetch_array($resultado))
{
$consulta2 = "SELECT * FROM oportunidadesXcarrera
WHERE oportunidades_id_op =".$result["id_op"]. " AND carrera_idCarrera
= ".$fila["idCarrera"];
$resultado2 = mysql_query($consulta2, $conn);
while($fila2 = mysql_fetch_array($resultado2))
{
?>
<option value="<?php echo $fila['idCarrera'];?>" <?php if(
$fila2['carrera_idCarrera'] == $fila['idCarrera'] ) echo 'selected'; ?>>
<?php echo $fila['nombreCarrera']; ?>
</option>
<?php
}
}
?>
</select>