PHP - Mostrar nombre con id de tabla relacionada

   
Vista:

Mostrar nombre con id de tabla relacionada

Publicado por Eduardo (18 intervenciones) el 14/07/2016 20:50:44
Buenas, tengo una consulta ojala me puedan ayudar,
Tengo dos tablas relacionadas una llamada asignatura con su idAsignatura y nombre
asignatura

y otra llamada día donde el idAsignatura está relacionado como clave foránea en el campo asignatura de la tabla dia
tabladia

Estoy diseñando un formulario que al momento de seleccionar el idCurso. En la página me muestre el nombre de la asignatura al cual pertenece.
Tengo el siguiente código
codigo1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<script>
	window.onload =function() //evento onchange
	{
		var lista = document.getElementById("curso-lista");
		lista.onchange = seleccionarCurso;
 
		function seleccionarCurso()
		{
			window.location="?op=alta2&curso_slc="+lista.value
		}
	}
</script>
<form id="curso-alumno" name="curso_frm" action="php/insertar-horarioAlumno.php"  method="post" enctype="multipart/from-data">
	<fieldset>
		<legend>Horario</legend>
                <div>
			<label for="curso-lista">Curso: </label>
			<select id="curso-lista" class="cambio" name="curso_slc" required >
				<option value="">- - -</option><!--Seleccione su curso-->
				<?php include("php/select-curso.php"); ?> <!--vienen de la base de datos-->
			</select>
		</div>
		<?php
			if($_GET["curso_slc"]!=null)
			{
				$conexion2 = conectarse();
				$contacto = $_GET["curso_slc"];
				$consulta_contacto = "SELECT * FROM dia WHERE idCurso='$contacto'";
 
				$ejecutar_consulta_contacto = $conexion2->query($consulta_contacto);
				$registro_contacto = $ejecutar_consulta_contacto->fetch_assoc();
				include("php/-formulario.php");
			}
 
		?>
	</fieldset>
</form>

select-curso.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
include("conexion.php");
 
 $consulta="SELECT idCurso FROM dia ORDER BY idCurso";
 $ejecutar_consulta = $conexion->query($consulta);
 while($registro = $ejecutar_consulta->fetch_assoc())
 {
  	echo "<option value='".utf8_encode($registro['idCurso'])."'";
  	if ($_GET["curso_slc"]==$registro['idCurso'])
  	{
  		echo " selected";
  	}
  	echo ">".utf8_encode($registro['idCurso'])."</option>";
 }
?>

-formulario.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<div>
	<label for="asignatura_slc">Asignatura: </label>
	<input type="text" id="asignatura_slc" class="cambio" name="asignatura_slc"  title="asignatura" value="<?php echo $registro_contacto["asignatura"]; ?>" required />
</div>
<div>
	<label for="-">Paralelo: </label>
	<input type="radio" id="-" name="paralelo_rdo" title="Tu paralelo" value="-" <?php if($registro_contacto["paralelo"]=="-"){echo "checked";}?> required />&nbsp;<label for="-">Sin Paralelo</label>
	&nbsp;&nbsp;&nbsp;
	<input type="radio" id="a" name="paralelo_rdo" title="Tu paralelo" value="A" <?php if($registro_contacto["paralelo"]=="A"){echo "checked";}?> required />&nbsp;<label for="a">Paralelo A</label>
	&nbsp;&nbsp;&nbsp;
	<input type="radio" id="b" name="paralelo_rdo" title="Tu paralelo" value="B" <?php if($registro_contacto["paralelo"]=="B"){echo "checked";}?> required />&nbsp;<label for="b">Paralelo B</label>
	&nbsp;&nbsp;&nbsp;
	<input type="radio" id="c" name="paralelo_rdo" title="Tu paralelo" value="C" <?php if($registro_contacto["paralelo"]=="C"){echo "checked";}?> required />&nbsp;<label for="c">Paralelo C</label>
</div>
value="<?php echo $registro_contacto["asignatura"]; ?> muestro el campo asignatura de la base de datos.

Nota: Se toma el campo idAsignatura y no el campo nombre, porque ese mismo idAsignatura está relacionado a otra tabla

Al momento de seleccionar cualquier idCurso me muestra la asignatura que corresponde a dicho idCurso, como se muestra en la imagen
pagina

Pero lo que quiero es que me muestre el nombre de la asignatura tomando como referencia el id relacionado en la tabla dia

Mi consulta es, si hay una forma de que muestre el nombre y no el id relacionado..

Sé que puedo relacionar el campo nombre de la tabla asignatura como clave foránea en la tabla día y me mostrara el nombre de las asignaturas, pero quiero saber si se puede mostrar el nombre de la asignatura desde el idAsignatura relacionado de la tabla dia.

Desde ya muchas gracias a todos por darse el tiempo de leer mi consulta y ojala tenga alguna solución, y me puedan ayudar en esto que me tiene trabado en mi proyecto,
Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Mostrar nombre con id de tabla relacionada

Publicado por xve (5516 intervenciones) el 15/07/2016 07:24:33
Hola Eduardo, no acabo de entender bien cual es tu problema... pero a tu pregunta: "quiero saber si se puede mostrar el nombre de la asignatura desde el idAsignatura relacionado de la tabla dia" la respuesta es si, si que puedes mostrar el nombre de la asignatura siempre y cuando y cuando hagas un join de las dos tablas... algo así:

1
select * from dia left join asignatura ON dia.asignatura=asignatura.idAsignatura

No se exactamente si esto contesta a tu pregunta... coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Mostrar nombre con id de tabla relacionada

Publicado por Eduardo (18 intervenciones) el 15/07/2016 20:50:39
Hola xve primero que todo muchas gracias por leer mi consulta y darte el tiempo de comentar
lo que pasa es que tengo dos tablas relacionadas donde el campo idAsignatura de la tabla asignatura esta como clave foranea en la tabla dia

y con el codigo php, donde asigne en value="<?php echo $registro_contacto["asignatura"]; ?> " en -formulario.php
1
2
3
4
<div>
	<label for="asignatura_slc">Asignatura: </label>
	<input type="text" id="asignatura_slc" class="cambio" name="asignatura_slc"  title="asignatura" value="<?php echo $registro_contacto["asignatura"]; ?>" required />
</div>
puedo ver la asignatura
pagina

te comento: " "funciona lo que quiero" ", que al momento de seleccionar cualquier curso de la tabla dia me muestra la asignatura que corresponde al curso seleccionado. pero el problema es que me muestra el id , y lo que quiero es que me muestre el nombre de la asignatrura, tomando el id relacionado en la tabla dia,
como se ve en la siguiente imagen
pagina2

xve desde ya muchas gracias por tu tiempo y si me puedes ayudar con una solucion y espero haber explicado mejor mi problematica
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar