Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/03/2012, 23:47
BanNsS1
 
Fecha de Ingreso: junio-2009
Mensajes: 101
Antigüedad: 15 años, 5 meses
Puntos: 13
Respuesta: generar una tabla con php cargada de una BD

Ya que no entiendo nada con esas bases de datos te explicaré como lo haría yo:


DB Cursos:
Código:
ID
Nombre_Curso
DB Alumnos:
Código:
ID
Alumno_Nombre
Alumno_Grupo
Alumno_Curso
DB Grupos: (alumnos):
Código:
ID
Grupo
Grupo_Curso
Código PHP:
//Seleccionamos el curso del que queremos sacar información

$CursoId=1;//Elegimos el curso.

$getCourse=mysql_query("SELECT Nombre_Curso FROM grupos WHERE id='".$cursoId."' ")or die(mysql_error());
$Course=mysql_fetch_array($getCourse);

//Ya tenemos el nombre del curso. Vamos a ver cuantos alumnos hay inscrutos:

$getNumberStudents=mysql_query("SELECT count(id) AS total FROM alumnos WHERE Alumno_Grupo='".$Course['Nombre_Curso']."'") or die(mysql_error());

$NumberStudents=mysql_fetch_array($getNumberStudents);


//Ya tenemos los alumnos totales: $NumberStudents['total']
//Ahora a mirar cuantos grupos hay y cuales son:

$getGroups mysql_query("SELECT Grupo,Grupo_Curso FROM grupos WHERE Grupo_Curso='".$Course['Nombre_Curso']."' ORDER BY id ASC"); //ASC o DESC...

$NumberGroups=mysql_num_rows($getGroups);

for(
$i=1;$i<=$NumberGroups;$i++)
{

$Group=mysql_fetch_array($getGroupsMYSQL_BOTH);



$GroupsNames.=$Group['Grupo']; //Empezar con un .= producirá un warning sin importancia. Si quieres evitarlo simplemente utiliza un IF's.

if($NumberGroups!=$i && $i!=$NumberGroups-1//Si no es el último ni el penúltimo:
{

$GroupsNames.=', ';

} else if(
$i==$NumberGroups-1//Si es el penúltimo:


$GroupsNames.='y ';

}else if(
$i==$NumberGroups//Si es el último:

$GroupsNames.='.';

}


echo
'En el curso de '.Course['Nombre_Curso'].' hay '.$NumberStudents['total'].' alumnos y este se divide en '.$NumberGroups.' grupo(s): '.$GroupsNames
Quizá hice algo mal, no lo sé. Revisa que no tenga errores.
Espero que te sirva.