Cita:
Iniciado por BanNsS1 Ya que no entiendo nada con esas bases de datos te explicaré como lo haría yo:
DB Cursos:
DB Alumnos:
Código:
ID
Alumno_Nombre
Alumno_Grupo
Alumno_Curso
DB Grupos: (alumnos):
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($getGroups, MYSQL_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.
gracias por esta enorme ayuda lo que pasa es que mi consulta es general en si no especifico ningun curso... osea que aparescan todos los cursos con sus participantes