hola necesito saber como puedo crear un ciclo o array para poder recorrer cada fila de la tabla de mi base de datos para que pueda realizar la funcion promedio.
Código PHP:
<?php
session_start();
include('cabecera2.inc');
header('Content-Type: text/html; charset=ISO-8859-1');
include('conexion.php');
echo'<script type="text/javascript" src="./js/funcion.js"></script>';
echo'<title>Calculo de promedios</title>';
echo'<form name="frm" method="post" action="enviaracta.php" >';
echo "<img src='./imagen/acceso.png'>";
$llena="SELECT * from estudiantes";
$datos = mysql_query($llena);
$numfilas = mysql_num_rows($datos);
echo'<table cellpadding=0 cellspacing=0 width=95% align=center border=0>';
echo'<thead><tr><td colspan=12 align=center>Alumnos Inscritos en la Asignatura</td></tr></thead>';
echo'<thead><tr><td>Nº</td><td>IdM</td><td>Materia</td><td>Apellidos y Nombres</td><td>I P</td><td>II P</td><td>III P</td><td>N.Final</td></tr></thead>';
for ($i=0; $i<$numfilas; $i++)
{
$numlista = $i + 1;
$row = mysql_fetch_array($datos);
$id=$row["idmatricula"];
$cd=$row["codmateria"];
$name_last=($row['apellidos']." ".$row['nombre']);
//aca muestra el numero de fila, idmatricula, codmateria,nombre y apellidos
echo'<tr><td>'.$numlista.'</td>';
echo'<td><input name=matricula[] value="'.$id.'" style=color:black;width:36px></td>';
echo'<td><input name=materia[] value="'.$cd.'" style=color:black;width:66px></td>';
echo'<td>'.$name_last.'</td>';
//se debe crear un arreglo para recorrer todos los valores y que la funcion calcular de javascript funcione para todos los datos.
//para cada estudiante debe existir un parcial1[] parcial2[] parcial3[] y prom[] segun la logica que debe tener el arreglo.
echo'<td><select name=parcial1[] id=parcial1 onChange="calcular()" style=color:black>';
echo'<option>-1</option>';
$value="select * from notas";
$result = mysql_query($value);
while ($valor = mysql_fetch_array($result))
{
$nota=$valor['nota'];
echo'<option value="'.$nota.'">'.$nota.'</option>';
}
echo'</select></td>';
echo'<td><select name=parcial2[] id=parcial2 onChange="calcular()" style=color:black>';
echo'<option>-1</option>';
$value="select * from notas";
$result = mysql_query($value);
while ($valor = mysql_fetch_array($result))
{
$nota=$valor['nota'];
echo'<option value="'.$nota.'">'.$nota.'</option>';
}
echo'</select></td>';
echo'<td><select name=parcial3[] id=parcial3 onChange="calcular()" style=color:black>';
echo'<option>-1</option>';
$value="select * from notas";
$result = mysql_query($value);
while ($valor = mysql_fetch_array($result))
{
$nota=$valor['nota'];
echo'<option value="'.$nota.'">'.$nota.'</option>';
}
echo'</select></td>';
echo'<td><input name=prom[] id=prom style=color:black;width:36px; type=text></td>';
}
echo'</tr></table>';
echo"<input name=guardar type=submit value=\"Guardar Datos\" style=width:120px;z-index:107;left:550px;position:absolute;top:320px>";
echo'</form>';
?>
El problema que tengo es que la solo se realiza la funcion promedio para un dato no para el segundo o "n" dato es decir no se recorre toda la tabla y es ahi donde no puedo saber como: si es en la funcion o en el formulario al crear la tabla
Código PHP:
function calcular()
{
p = new Array();
p[0] = document.getElementById("parcial1").value
p[1] = document.getElementById("parcial2").value
p[2] = document.getElementById("parcial3").value
for(i = 0, campos = p.length; i < campos; i++)
{
p[i] = (!isNaN(p[i]) && p[i] != '')? Number(p[i]): 0;
}
if ( p[0] != "" )
{
document.getElementById("prom").value = p[0];
}
if ( p[0] || p[1] != "" )
{
var suma1 = p[0] + p[1];
var promedio_parcial = Number(suma1 / 2);
promedio_parcial = promedio_parcial.toFixed(1);
promedio_parcial = promedio_parcial.substring(0, promedio_parcial.length - 2);
document.getElementById("prom").value = promedio_parcial
}
if ( p[0] || p[1] || p[2] != "" )
{
var suma2 = p[0] + p[1] + p[2];
var promedio = Number(suma2 / 3);
promedio = promedio.toFixed(1);
promedio = promedio.substring(0, promedio.length - 2);
document.getElementById("prom").value = promedio
}
}
se puede realizar el ciclo con un foreach() o no
![ojotes](http://static.forosdelweb.com/fdwtheme/images/smilies/ojotes.png)
necesito su ayuda urgente
aca les dejo les dejo el vinculo del archivo que estoy trabajando:
http://www.mediafire.com/?1oevxcc0015dy94
espero le hechen una manito por favor