listado PHP
Publicado por maquiraul (3 intervenciones) el 07/06/2020 18:58:30
Os explico:
Tengo 2 tablas, una de alumnos y otra de pendientes.
La tabla de alumnos tiene DNI,nombre, apellido,nota,...
La clave de pendientes tiene en DNI como clave foranea (esta vinculada con la de alumnos) y cuenta con unas siglas (resultados de aprendizaje suspensos).
Pues tengo que mostrar todos los alumnos en una lista con sus datos incluyendo los resultados de aprendizaje (siglas) que tienen suspenso.
El problema que tengo es que se me repiten los alumnos por cada resultado de aprendizaje suspenso, es decir, sí el alumnos X tiene suspenso TT y UU pues me sale el alumno X dos veces, una vez con el suspenso de TT y otra con el suspenso de UU. Cuando sus datos solo tienen que aparecer una vez.
¿Alguna ayuita?
Os paso el codigo que tengo por el momento:
EDIT2:
He modificado el codigo para introducir los Resultados suspensos sin separar los alumnos entre los que no tienen nada suspenso y los que tienen algo suspenso.
El problema es que ahora solo el primer alumno recibe los resultados suspensos de todos los alumnos.
Tengo 2 tablas, una de alumnos y otra de pendientes.
La tabla de alumnos tiene DNI,nombre, apellido,nota,...
La clave de pendientes tiene en DNI como clave foranea (esta vinculada con la de alumnos) y cuenta con unas siglas (resultados de aprendizaje suspensos).
Pues tengo que mostrar todos los alumnos en una lista con sus datos incluyendo los resultados de aprendizaje (siglas) que tienen suspenso.
El problema que tengo es que se me repiten los alumnos por cada resultado de aprendizaje suspenso, es decir, sí el alumnos X tiene suspenso TT y UU pues me sale el alumno X dos veces, una vez con el suspenso de TT y otra con el suspenso de UU. Cuando sus datos solo tienen que aparecer una vez.
¿Alguna ayuita?
Os paso el codigo que tengo por el momento:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
include 'conectar php';
session_start();
$sql = "SELECT * FROM alumnos WHERE DNI NOT IN(SELECT DNI FROM pendientes)";
$sql2 = "SELECT a.*, p.siglas FROM alumnos a,pendientes p WHERE a.DNI=p.DNI ";
$resultado = $conexion->query($sql);
$resultado2 = $conexion->query($sql2);
if($resultado->num_rows>0)
{
$fila=$resultado->fetch_array();
echo "ALUMNOS CON TODO APROBADO";
while($fila){
echo"<ul>";
echo"<li>";
echo" DNI: ",$fila['DNI'];
echo"</li>";
echo"<li>";
echo" Nombre: ",$fila['nombre'];
echo"</li>";
echo"<li>";
echo" Apellido: ",$fila['apellido'];
echo"</li>";
echo"<li>";
echo" Nota: ",$fila['nota'];
echo"</li>";
echo"</ul>";
echo"<br/>";
$fila=$resultado->fetch_array();
}
}
else {
print_r("no se encuentra : ".$resultado->num_rows);
}
if($resultado2->num_rows>0)
{
$fila2=$resultado2->fetch_array();
echo "ALUMNOS CON ALGUNOS RA SUSPENSOS";
while($fila2){
echo"<ul>";
echo"<li>";
echo" DNI: ",$fila2['DNI'];
echo"</li>";
echo"<li>";
echo" Nombre: ",$fila2['nombre'];
echo"</li>";
echo"<li>";
echo" Apellido: ",$fila2['apellido'];
echo"</li>";
echo"<li>";
echo" Nota: ",$fila2['nota'];
echo"</li>";
echo"RA suspensos: ",$fila2['siglas'];
echo"</ul>";
echo"<br/>";
$fila2=$resultado2->fetch_array();
}
}
else {
print_r("no se encuentra : ".$resultado2->num_rows);
}
?>
EDIT2:
He modificado el codigo para introducir los Resultados suspensos sin separar los alumnos entre los que no tienen nada suspenso y los que tienen algo suspenso.
El problema es que ahora solo el primer alumno recibe los resultados suspensos de todos los alumnos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
include 'conectar.php';
session_start();
$sql = "SELECT * FROM alumnos";
$sql2 = "SELECT * FROM alumnos,pendientes WHERE alumnos.DNI=pendientes.DNI ";
$resultado = $conexion->query($sql);
$resultado2 = $conexion->query($sql2);
if($resultado->num_rows>0)
{
$fila=$resultado->fetch_array();
$fila=$resultado2->fetch_Array();
echo "ALUMNOS";
while($fila){
echo"<ul>";
echo"<li>";
echo" DNI: ",$fila['DNI'];
echo"</li>";
echo"<li>";
echo" Nombre: ",$fila['nombre'];
echo"</li>";
echo"<li>";
echo" Apellido: ",$fila['apellido'];
echo"</li>";
echo"<li>";
echo" Nota: ",$fila['nota'];
echo"</li>";
echo"<li>";
while($fila) {
echo" RA Suspensos: ",$fila['siglas'];
$fila=$resultado2->fetch_Array();
}
echo"</li>";
echo"</ul>";
echo"<br/>";
$fila=$resultado->fetch_array();
}
}
else {
print_r("no se encuentra : ".$resultado->num_rows);
}
?>
Valora esta pregunta


0