Foros del Web » Programando para Internet » PHP »

Como hacer una consulta relacionada y q me muestre todos los valores de un campo

Estas en el tema de Como hacer una consulta relacionada y q me muestre todos los valores de un campo en el foro de PHP en Foros del Web. Hola como stan todos espero q bien, hace dias pedi una ayuda sobre el mismo tema pero no pude dar con la solucion, lo q ...
  #1 (permalink)  
Antiguo 06/05/2012, 17:03
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Como hacer una consulta relacionada y q me muestre todos los valores de un campo

Hola como stan todos espero q bien, hace dias pedi una ayuda sobre el mismo tema pero no pude dar con la solucion, lo q necesito q me exhen una manito es como podria hacer q me muestren los valores registrados en un campo q se encuentran de esta forma 1,3,7 es decir en una tabla alumnos tengo un campo q se llama cod_materias_repite verdad y se guardan son puros los codigos de esta forma 1,3,7 necesito una consulta donde me salgan la cedula nombres apelidos gradoi y seccion y los nombres de las tres materias es decir de esos tres codigos, hago una consulta relacionada pero solo me muestra el nombre del primer codigo, mas no de los otros dos umeros, un maigo me dijo q trabajara con vectores, pero no tengo conocimientos de vectores aqui les dejo la relacion q hago a continuacion:

<?php
ob_start();
include_once('../cone.php');
conectarse();
include_once('funciones_basicas.php');
$grado=$_POST['grado'];
$relacionada = "SELECT alumnos.cedula, alumnos.nombres, alumnos.apellidos, alumnos.grado, alumnos.seccion,materias. nombre_materia FROM alumnos INNER JOIN materias ON alumnos.cod_materias_repite = materias.cod_materia WHERE alumnos.repite_ano = '1' and alumnos.grado = '".$grado."' order by alumnos.cedula desc";
$sql = mysql_query($relacionada) or die (mysql_error());

?>


aqui muestro la tabla con resultados

p align="center"><strong>Estudiantes Repitientes de <?php echo grado($grado);?></strong> <strong>grado</strong> </p>
<table width="85%" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="10%" align="center" valign="middle" bgcolor="#990000"><span class="Estilo8">Cedula</span></td>
<td width="19%" align="center" valign="middle" bgcolor="#990000"><span class="Estilo8">Nombres</span></td>
<td width="22%" align="center" valign="middle" bgcolor="#990000"><span class="Estilo8">Apellidos</span></td>
<td width="8%" align="center" valign="middle" bgcolor="#990000"><span class="Estilo8">Grado</span></td>
<td width="9%" align="center" valign="middle" bgcolor="#990000"><span class="Estilo8">Sección </span></td>
<td width="32%" align="center" valign="middle" bgcolor="#990000"><span class="Estilo8">Asignaturas que repiten </span></td>
</tr>
<?php
while($array = mysql_fetch_array($sql)) {
?>
<tr>
<td align="center" valign="middle"><span class="Estilo3"><?php echo $array['cedula']; ?></span></td>
<td align="center" valign="middle"><span class="Estilo3"><?php echo $array['nombres']; ?></span></td>
<td align="center" valign="middle"><span class="Estilo3"><?php echo $array['apellidos']; ?></span></td>
<td align="center" valign="middle"><span class="Estilo3"><?php echo grado($array['grado']); ?></span></td>
<td align="center" valign="middle"><span class="Estilo3"><?php echo $array['seccion']; ?></span></td>
<td align="center" valign="middle"><span class="Estilo3"><?php echo $array['nombre_materia']; ?></span></td>
</tr>
<?php } ?>
  #2 (permalink)  
Antiguo 06/05/2012, 17:32
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años, 7 meses
Puntos: 97
Respuesta: Como hacer una consulta relacionada y q me muestre todos los valores de un

Si te entiendo bien, el campo cod_materias_repite es un varchar i contiene "1,3,7". Si es así, prueba eso a ver si funciona...

Código PHP:

$relacionada 
"SELECT alumnos.cedula, alumnos.nombres, alumnos.apellidos, alumnos.grado, alumnos.seccion,materias.nombre_materia
 FROM alumnos left join materias  ON concat(',',alumnos.cod_materias_repite,',') like concat('%,',materias.cod_materia,',%')
 WHERE alumnos.repite_ano = '1' and alumnos.grado = '"
.$grado."' order by alumnos.cedula desc"
saludos
  #3 (permalink)  
Antiguo 06/05/2012, 17:37
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como hacer una consulta relacionada y q me muestre todos los valores de un

Hola muchas gracias por tu ayuda, perod ejame decirte q no funciono, ya q solo me hizo otra consulta es decir me agrego en la consulta otro campo mas con los mismo datos de la persona pero conel nombre de la otra materia, yo quiero q me peuda aparecer asi 1,3,5 q salga asi fisica,quimica,matematica
  #4 (permalink)  
Antiguo 06/05/2012, 17:38
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 16 años, 3 meses
Puntos: 103
Respuesta: Como hacer una consulta relacionada y q me muestre todos los valores de un

no te conviene hacer una tabla que sea asi
Cita:
IDAlumno | Materia | Estado
---------------------------------
1 |1 |0
1 |2 |1
1 |3 |1
1 |4 |2
1 |5 |0
1 |6 |1
donde IDAlumno es el id del alumno, materia es el id de la materia, y estado es el estado de la materia(0 para no cursado, 1 aprobado, y 2 desaprobado, o depende de como lo desees), y despues hacer un join, con clausulas where al IDAlumno, y el estado=2

saludos
  #5 (permalink)  
Antiguo 06/05/2012, 17:41
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 4 meses
Puntos: 1532
Respuesta: Como hacer una consulta relacionada y q me muestre todos los valores de un

Para empezar eso de almacenar en una cadena un conjunto de valores esta mal y va en contra de los principios de normalización, lo ideal es tener ello como una relación muchos a muchos

Si no sabe manejar vectores arrays es hora de que investigue sobre el tema, debido a que es fundamental para la programación y es básico para todo desarrollador
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #6 (permalink)  
Antiguo 06/05/2012, 17:46
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como hacer una consulta relacionada y q me muestre todos los valores de un

Disculpa pero ya tengo esa relacion en la tabla alumnos y la tabla materias, ya q en la consulta hago la relacion del q en alumnos.cod_materias_repite=materias.codigo_materi a, pero solo me salen es el nombre de la materia materia es decir el primer codigo, y deseo q me salgan los tres nombres o los q aparezcan en ese campo de materias q repite ele studiante, ya q el estudiante a ser inscrito a otro grado y si repite se trae los codigos de las materias q se le quedo y las guarda con estan en numeros
  #7 (permalink)  
Antiguo 06/05/2012, 17:47
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como hacer una consulta relacionada y q me muestre todos los valores de un

Pues disculpame y corrijeme si estoy equivocado pero segun lo q e leido eso no va en contra de nada y mucho menos en la relacion de la BD ya q primero se ahorra mucho espacio en la BD al agregar cada valor por separado, y tambien a registrarlo por los nombres, o seguro entendi mal a lo q te referias
  #8 (permalink)  
Antiguo 06/05/2012, 18:12
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años, 7 meses
Puntos: 97
Respuesta: Como hacer una consulta relacionada y q me muestre todos los valores de un

Ruben, chwc y maycolalvarez llevan toda la razón del mundo.

Tu estructura va en contra de, para empezar, la integridad referencial: como controla la db que no se borre una materia asignada a un alumno?

Sin embargo, si persistes un tu estructura, la única solución que tienes es hacer 2 consultas a la db. una sobre alumnos y otra reiterando sobre materias para conseguir los nombres.

y repito, tu estructura no es buena. Da pereza cambiar las cosas, pero a la larga, vas a ganar en conocimiento, versatilidad y mantenibilidad de tu aplicación.

Saludos!
  #9 (permalink)  
Antiguo 06/05/2012, 18:56
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como hacer una consulta relacionada y q me muestre todos los valores de un

En verdad me disculpen y si los entiendo ustedes tienen mucha razon en lo q me dicen, pero yo pienso q si eso es algo incoherente y prohibido no fuera aplicado, ya q si existen pasos para poder hacer loq yo deseo, y espero me disculpen y con mucho respeto q les tengo como miembros de este gran foro de php y otros lenguajes, e leido q con explode y con vectores es posible, en verdad muchas gracias y disculpen mi ignorancia pero no podria cambiar mi bd o tabla ya q tiene muchos procesos y eso me tomaria mucho tiempo adaptar eso y eso es lo q menos me sobra, muchas gracias en verdad espero me disculpen
  #10 (permalink)  
Antiguo 06/05/2012, 19:26
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 14 años, 4 meses
Puntos: 55
Respuesta: Como hacer una consulta relacionada y q me muestre todos los valores de un

Hola Ruben

Primero la consulta relacionada no debe partir para nada de alumnos con alumnos.cod_materias_repite

ya que este en el proceso de inscripción se asigna individualmente (una fila por materia) en la tabla notas.

asi que para realizar lo que quieres debes

1.- Consultar la tabla alumnos para colocar los datos del mismo, tales como Cédula, nombre y apellido, Representante (en caso necesario), etc.

2.- hacer una consulta relacionada de la tabla notas y materias guiándote por el código del estudiante de la consulta anterior Ej:

select * from notas, materias where notas.codigo_alumno = '".$array['codigo']."' and materias.codigo = notas.codigo_materia order by materias.materia


no estoy seguro si los datos están correctos porque no tengo la tabla abierta, pero es algo así


estamos en linea
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O
  #11 (permalink)  
Antiguo 06/05/2012, 19:49
ruben_chirinos_1985
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Como hacer una consulta relacionada y q me muestre todos los valores de un

Ni idea de lo q dices
  #12 (permalink)  
Antiguo 07/05/2012, 09:28
 
Fecha de Ingreso: junio-2010
Ubicación: Venezuela, Zulia
Mensajes: 686
Antigüedad: 14 años, 4 meses
Puntos: 55
Respuesta: Como hacer una consulta relacionada y q me muestre todos los valores de un

lee bien y darás como se hace, el que persevera alcanza, no te des tan rápido por vencido.
__________________
<?php echo "No te metas a lo hondo del Mar si no sabes nadar, primero aprende a nadar" ?>
...Error en linea: 1 o.O

Etiquetas: mysql, sql, tabla, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:43.