porque no me anda el foreach
Publicado por giuli (74 intervenciones) el 08/11/2016 15:54:07
Hola, tengo el siguiente codigo en php
en la parte
me dice Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\Sistema\Paginas\Preceptoria\notas.php on line 53 pero si me muestra los campos nota y descripcion..
Porque se suele dar siempre este error en los foreach? Si saco el foreach y muestro los campos me muestra todo bien..solo que necesito iterar sobre todos los alumnos..
Gracias por su ayuda
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
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html" />
<title>Sistema de Gestion de Alumnos</title>
<link rel="stylesheet" href="../../Css/Formularios.css"/>
</head>
<body>
<?php
include_once '../../PHP/Conexion.php';
$conectar = conexionBD();
function obteneralumnos(){
if (isset($_POST['cursos']) && isset($_POST['divisiones'])){
global $conectar;
$idcurso =htmlentities($_POST['cursos']);
$iddivision =htmlentities($_POST['divisiones']);
$sqlalumnos="SELECT alumno.idalumno,alumno.idpersona,persona.nombre,persona.apellido FROM alumno";
$sqlalumnos.=" LEFT JOIN persona ON alumno.idpersona=persona.idpersona WHERE idcurso=".$idcurso." AND iddivision=".$iddivision.";";
$rsalumnos= select($conectar,$sqlalumnos);
}
return $rsalumnos;
};
function listadocalificaciones($idalu){
global $conectar;
$numtrimestre=htmlentities($_POST['trimestres']);
$sqlnotas="SELECT trimestres.nota,materia.descripcion FROM trimestres";
$sqlnotas.=" LEFT JOIN materia ON materia.idmateria=trimestres.idmateria";
$sqlnotas.=" WHERE nuntrimestre=".$numtrimestre." AND idalumno=".$idalu.";";
$rsnotas=select($conectar,$sqlnotas);
return $rsnotas;
};
?>
<form method="post" id="listado" name="listado">
<section id="seccion">
<?php
$rsalumnos =obteneralumnos();
$totalalumnos=count($rsalumnos);
if ($totalalumnos>0){
foreach ($rsalumnos as $alumno){
$idalu=$alumno['idalumno'];
$rsnotas= listadocalificaciones($idalu);
foreach ($rsnotas as $nota){
echo $nota['nota'];
echo $nota['descripcion'];
}
/*
echo $rsnotas[0]['nota'];
echo $rsnotas[1]['nota'];*/
?>
<input type="label" value="<?php echo $alumno['nombre'];?>" />
<?php }} ?>
</section>
</form>
</body>
</html>
en la parte
1
foreach ($rsnotas as $nota){
me dice Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\Sistema\Paginas\Preceptoria\notas.php on line 53 pero si me muestra los campos nota y descripcion..
Porque se suele dar siempre este error en los foreach? Si saco el foreach y muestro los campos me muestra todo bien..solo que necesito iterar sobre todos los alumnos..
Gracias por su ayuda
Valora esta pregunta


0