Foros del Web » Programando para Internet » PHP »

Duda con una consulta

Estas en el tema de Duda con una consulta en el foro de PHP en Foros del Web. Hola amigos estoy realizando una pequeña aplicacion de control de calificaciones ya agrego los registros, borro y modifico sin ningun problema, dende estoy atorado es ...
  #1 (permalink)  
Antiguo 30/10/2007, 22:35
 
Fecha de Ingreso: septiembre-2003
Mensajes: 182
Antigüedad: 20 años, 7 meses
Puntos: 1
Pregunta Duda con una consulta

Hola amigos estoy realizando una pequeña aplicacion de control de calificaciones
ya agrego los registros, borro y modifico sin ningun problema, dende estoy atorado es para realizar una consulta con respecto a un alumnos en especifico.

Ejemplo tengo un boton "historial" que cuando le doy clic ahi me arroja todo el historial de todos los alumnos con sus materias y calificaciones

<?php
include("conexion.php");
$consulta=mysql_query("SELECT * FROM calificaciones
INNER JOIN alumnos ON calificaciones.idalum = alumnos.idalum
INNER JOIN materias ON calificaciones.idMater = materias.idMater
ORDER BY calificaciones.idAlum ");
echo "<table border=1align=center><td>Alumno</td><td>Materia</td><td>Calificaciòn</td>";
while ($reg=mysql_fetch_array($consulta))
{
echo "<tr><td>".$reg[Nombre]." ".$reg[Apellidos]."</td>";
echo "<td>".$reg[Descmater]."</td>";
echo "<td>".$reg[calificacion]."</td>";
}
?>

Lo que quiero hacer y no me funciona es que tengo un campo text donde ahi pongo la clave del alumnos y que cuando le de clic en el boton "Historial Individual" me arroje especificamente todas las materias y calificaciones de ese alumno pero el problema es que cuando nada mas pongo la clave me da como resultado un registro de ese alumno y no todos los que corresponden a ese alumno

Les dejo mi codigo esperando me puedan ayudar

?php
include("conexion.php");
$consulta=mysql_query("SELECT * FROM calificaciones
INNER JOIN alumnos ON calificaciones.idalum = alumnos.idalum
INNER JOIN materias ON calificaciones.idMater = materias.idMater
WHERE calificaciones.idAlum = '$_REQUEST[cve_alumno]'");
echo "<table border=1 align=center><td>Alumno</td><td>Materia</td><td>Calificaciòn</td>";
if ($reg=mysql_fetch_array($consulta))
{
echo "<tr><td>".$reg[Nombre]." ".$reg[Apellidos]."</td>";
echo "<td>".$reg[Descmater]."</td>";
echo "<td>".$reg[calificacion]."</td>";
}
else
{
echo "Datos incorrectos";
}
?>
  #2 (permalink)  
Antiguo 30/10/2007, 22:53
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: Duda con una consulta

Estas usando esto:

if($reg=mysql_fetch_array....

Debes usar un While y dentro de este que aumente un contador previamente inicializado en 0.

Si luego de pasar por ahi ese contador es 0 echo "Datos incorrectos"

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 30/10/2007, 23:24
 
Fecha de Ingreso: agosto-2007
Ubicación: En el lugar menos pensado
Mensajes: 83
Antigüedad: 16 años, 8 meses
Puntos: 2
Re: Duda con una consulta

Buenas
Bueno, el IF usa el == para comparar, y ahi estas asignando con un solo = ,
ahora la solución podría ser asignar antes y luego en el if si comparar como lo tienes pero con el doble == o poner eso en un while como lo sugiere marvin

ej:

Código PHP:
$reg=mysql_fetch_array($consulta);
if (
$reg==mysql_fetch_array($consulta)) 
saludos

Última edición por Patrón.Mortinato; 30/10/2007 a las 23:25 Razón: Corrección de sintaxis php
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 13:18.