Foros del Web » Programando para Internet » PHP »

Mostrar listado de alumnos

Estas en el tema de Mostrar listado de alumnos en el foro de PHP en Foros del Web. Hola, estoy intentando mostrar un listado de alumnos por año y por curso. la 1era pagina es donde busco el año, el codigo es este. ...
  #1 (permalink)  
Antiguo 13/06/2011, 08:05
Avatar de apolazo  
Fecha de Ingreso: mayo-2011
Ubicación: Cabrero
Mensajes: 118
Antigüedad: 13 años, 6 meses
Puntos: 2
Exclamación Mostrar listado de alumnos

Hola, estoy intentando mostrar un listado de alumnos por año y por curso.
la 1era pagina es donde busco el año, el codigo es este.

Código PHP:
<form action="seleccionar_curso.php" method="post" name="form1" id="form1">
            <select name="ano" id="ano" >
              <option value="">Seleccionar Año</option>
              <?php 
                      $conexion
=mysql_connect("localhost","admin","admin");
                        
mysql_select_db ("comportamiento",$conexion); 
                        
                        
$sql="SELECT ANO FROM curso GROUP BY ANO";
                        
$resultado=mysql_query($sql,$conexion);
                          while(
$datos=mysql_fetch_array($resultado))
                        {
                            echo 
" <option value=\"".$datos["ANO"]."\">".$datos["ANO"]."</option>";
                        }                      
?>
            </select>
            <input type="submit" name="button" id="button" value="Buscar" />
        </form>
eso envia a una pagina donde buscare solo los cursos del año que seleccione antes. y es esta

Código PHP:
  <form action="mostrar_curso_evaluar.php" method="post" name="form1" id="form1">
            <select name="curso" id="curso" >
              <option value="">Seleccionar Curso</option>
              <?php 
                      $conexion
=mysql_connect("localhost","admin","admin");
                        
mysql_select_db ("comportamiento",$conexion); 
                        
                        
$sql="SELECT CURSO FROM curso WHERE ANO=".$_POST['ano']." GROUP BY CURSO";                        $resultado=mysql_query($sql,$conexion);
                          while(
$datos=mysql_fetch_array($resultado))
                        {
                            echo 
" <option value=\"".$datos["CURSO"]."\">".$datos["CURSO"]."</option>";
                        }                      
?>
            </select>
            <input type="submit" name="button" id="button" value="Buscar" />
        </form>
y luego me redirecciona a la pagina donde deverian mostrar todo los alumnos de ese curso a partir de los datos anteriores, año y curso.
el cod es este
Código PHP:
<form name="form1" method="post" action="">
  <table width="50%" border="1">
    <tr>
      <td align="center">N&ordm;</td>
      <td align="center">RUN</td>
      <td align="center">NOMBRES</td>
      <td align="center"><p>APELLIDO </p>
        <p>PATERNO</p></td>
      <td align="center"><p>APELLIDO</p>
        <p> MATERNO</p></td>
      <td align="center">ACCI&Oacute;N</td>
    </tr>
    <?php 
                        $conexion
=mysql_connect("localhost","admin","admin");
                        
mysql_select_db ("comportamiento",$conexion); 
                        
                        
$sql="SELECT * FROM alumno  WHERE curso=".$_POST['curso']."";             

                        
$resultado=mysql_query($sql,$conexion);
$n=0;
while (
$datos=mysql_fetch_array($resultado))
{
$n++;    
echo
"<tr>
<td>$n</td> 
<td>"
.$datos["RUN"]."<input type=\"hidden\" name=\"RUN_$n\" value=\"".$datos["RUN"]."\" ></td>
<td>"
.$datos["NOMBRES"]."<input type=\"hidden\" name=\"NOMBRES_$n\" value=\"".$datos["NOMBRES"]."\" ></td>
<td>"
.$datos["APELLIDO_P"]."<input type=\"hidden\" name=\"APELLIDO_P_$n\" value=\"".$datos["APELLIDO_P"]."\" ></td>
<td>"
.$datos["APELLIDO_M"]."<input type=\"hidden\" name=\"APELLIDO_M_$n\" value=\"".$datos["APELLIDO_M"]."\" ></td>
</tr>
"
;    
}
                        
?>
    </table>
</form>
el tema es que no me los muestra... muchas gracias a cualquier colavoración.

BD alumno:RUN CODIGO NOMBRE APELLIDO_P_P APELLIDO_M_P
curso: CODIGO ANO CURSO

Bueno en el sistema el profesor ingresa con su rut y contraseña para evaluar a los alumnos del curso.
  #2 (permalink)  
Antiguo 13/06/2011, 08:14
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 9 meses
Puntos: 96
Respuesta: Mostrar listado de alumnos

Saludos

Es recomendable que manejes mysql_error en cada utilizacion del mysql_query para verificar un posible error en la consulta

Código PHP:
Ver original
  1. mysql_query($sql,$conexion) or die ("Error en sentencia : ".mysql_error());

La columna curso es string o int?... de ser string te hacer falta encerrarla entre comillas sencillas.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 13/06/2011, 08:16
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Mostrar listado de alumnos

Cita:
Iniciado por apolazo
... el tema es que no me los muestra...
Por mera curiosidad... que es lo que te muestra?

En caso de que haya un error en la consulta es facil saberlo:
Código PHP:
Ver original
  1. $resultado=mysql_query($sql,$conexion) or die('Error en la consulta: ' . mysql_error());

P.D. Nano_ llego primero.
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 13/06/2011, 08:20
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 10 meses
Puntos: 288
Respuesta: Mostrar listado de alumnos

mas facil:
$resultado=mysql_query($sql,$conexion);
echo $resultado;

ese resultado pegalo en phpmyadmin/sql y fijate bien que es lo que pasa!!!!!
  #5 (permalink)  
Antiguo 13/06/2011, 08:31
Avatar de apolazo  
Fecha de Ingreso: mayo-2011
Ubicación: Cabrero
Mensajes: 118
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: Mostrar listado de alumnos

Gracias gracias, pues me da esto
Error en la consulta: Unknown column 'curso' in 'where clause'
la cambie por el run y me dice
Error en la consulta: Unknown column '1D' in 'where clause'
por lo menos se pasa el dato en este caso el curso es 1D, pero no asi los alumnos que contiene. como podria hacerle para que los mostrase?
paso por post curso.
  #6 (permalink)  
Antiguo 13/06/2011, 08:33
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 9 meses
Puntos: 96
Respuesta: Mostrar listado de alumnos

Cita:
La columna curso es string o int?... de ser string te hacer falta encerrarla entre comillas sencillas.
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #7 (permalink)  
Antiguo 13/06/2011, 08:37
Avatar de apolazo  
Fecha de Ingreso: mayo-2011
Ubicación: Cabrero
Mensajes: 118
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: Mostrar listado de alumnos

La deje así
$sql="SELECT * FROM alumno WHERE 'curso'=".$_POST['curso']."";
pero sale
Error en la consulta: Unknown column '3D' in 'where clause'
u.u
  #8 (permalink)  
Antiguo 13/06/2011, 08:43
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 9 meses
Puntos: 96
Respuesta: Mostrar listado de alumnos

Saludos

Lo que debes encerrar entre comillas es lo que estas enviando por POST

Código PHP:
Ver original
  1. $sql="SELECT * FROM alumno WHERE curso='".$_POST['curso']."'";
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #9 (permalink)  
Antiguo 13/06/2011, 08:46
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 10 meses
Puntos: 288
Respuesta: Mostrar listado de alumnos

Cita:
Iniciado por Nano_ Ver Mensaje
Saludos

Lo que debes encerrar entre comillas es lo que estas enviando por POST

Código PHP:
Ver original
  1. $sql="SELECT * FROM alumno WHERE curso=".$_POST['curso'];
  #10 (permalink)  
Antiguo 13/06/2011, 08:51
Avatar de apolazo  
Fecha de Ingreso: mayo-2011
Ubicación: Cabrero
Mensajes: 118
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: Mostrar listado de alumnos

jeje ahi esta gracias, bueno no me reconoce la columna curso, y si lo cambio por run no me da error pero no me muestra los datos, no tengo definida curso de por si en la página...
esta bien k 1er seleccion el año y en otra pagina el curso que hay en ese año? ya que aqui los estoy mostrando a partir del curso. muchas gracias.
  #11 (permalink)  
Antiguo 13/06/2011, 09:08
Avatar de apolazo  
Fecha de Ingreso: mayo-2011
Ubicación: Cabrero
Mensajes: 118
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: Mostrar listado de alumnos

Podria tomar el año de la 1era pag como variable y pasarla a la 2da, y luego tomar las 2 y pasarlas a la ultima para hacer uan doble condicion. hmmmm... pero deveria estar bien consultando por el curso? creo k si :S y por que no lo muestra, ni idea :/
  #12 (permalink)  
Antiguo 13/06/2011, 09:28
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 9 meses
Puntos: 96
Respuesta: Mostrar listado de alumnos

Saludos

Segun la estructura:

BD alumno:RUN CODIGO NOMBRE APELLIDO_P_P APELLIDO_M_P
curso: CODIGO ANO CURSO

La columna curso no existe en la tabla alumno. Suponiendo que las dos tablas se unen por la columna codigo. La sentencia seria la siguiente:

Código PHP:
Ver original
  1. $sql="SELECT a.* FROM alumno a
  2. INNER JOIN curso c ON a.codigo=c.codigo
  3. WHERE c.curso='".$_POST['curso']."'";
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #13 (permalink)  
Antiguo 13/06/2011, 09:41
Avatar de apolazo  
Fecha de Ingreso: mayo-2011
Ubicación: Cabrero
Mensajes: 118
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: Mostrar listado de alumnos

Wooow tio sos un dios del php jajaja xD jamas habia visto el JOIN y la verdad no entiendo el codigo me lo podrias explicar? funciona, me muestra el run =D ahora vere por k no muestra los demas
  #14 (permalink)  
Antiguo 13/06/2011, 09:47
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 10 meses
Puntos: 288
Respuesta: Mostrar listado de alumnos

mmm tendrias que leer un poquito la doc de mysql
es muy facil!!!
  #15 (permalink)  
Antiguo 13/06/2011, 09:54
Avatar de apolazo  
Fecha de Ingreso: mayo-2011
Ubicación: Cabrero
Mensajes: 118
Antigüedad: 13 años, 6 meses
Puntos: 2
Respuesta: Mostrar listado de alumnos

seria como un select * from curso, alumno?
pero este es mas detallado para buscar solo el codigo del curso?

Etiquetas: alumnos, listado
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 12:03.