Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/11/2011, 10:31
Avatar de jmanuelprince
jmanuelprince
 
Fecha de Ingreso: octubre-2011
Mensajes: 11
Antigüedad: 12 años, 6 meses
Puntos: 0
Realizar Calculos en tabla con filas repetidas por bucle FOR de PHP

Saludos

Estoy intentando crear una tabla cuyas filas provienen de una tabla de la base de datos, con eso no tengo problemas, pero cada fila tiene un conjunto de 13 campos INPUT, 12 que son los meses del año y uno de Resultados donde se debe totalizar la sumatoria de todos los meses del año, el problema es que tengo una función JavaScript que realiza la sumatoria y me funciona si la uso para una a sola fila, pero cuando se repiten los campos, es decir, 13 campos para cada fila, ya no me realiza los calculos, aqui les envio el código de este archivo.

Código PHP:
<?php
require_once "clases/clsProducto.php";
 
$objPdto = new clsProducto();
$listaPdtos $objPdto->listarProducto();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Table desde MySQL</title>
<link rel="stylesheet" href="css/style.css" type="text/css" />
<script>
function fncSumar(){
caja=document.forms["sumar"].elements;
var numero1 = Number(caja["numero1"].value);
var numero2 = Number(caja["numero2"].value);
var numero3 = Number(caja["numero3"].value);
var numero4 = Number(caja["numero4"].value);
var numero5 = Number(caja["numero5"].value);
var numero6 = Number(caja["numero6"].value);
var numero7 = Number(caja["numero7"].value);
var numero8 = Number(caja["numero8"].value);
var numero9 = Number(caja["numero9"].value);
var numero10 = Number(caja["numero10"].value);
var numero11 = Number(caja["numero11"].value);
var numero12 = Number(caja["numero12"].value);
resultado=numero1+numero2+numero3+numero4+numero5+numero6+numero7+numero8+numero9+numero10+numero11+numero12;
if(!isNaN(resultado)){
caja["resultado"].value=numero1+numero2+numero3+numero4+numero5+numero6+numero7+numero8+numero9+numero10+numero11+numero12;
}
}
</script>
</head>
<body>

<?php
if (is_array($listaPdtos)) {
?>
<form method="post" name="sumar">
<table border="1" cellspacing="0" cellpadding="0">
    <caption ><h1>Productos a Programar</h1></caption>
    <thead>
        <tr>
            <th scope="col">Producto</th>
            <th scope="col">Ene</th>
            <th scope="col">Feb</th>
        <th scope="col">Mar</th>
        <th scope="col">Abr</th>
        <th scope="col">May</th>
        <th scope="col">Jun</th>
        <th scope="col">Jul</th>
        <th scope="col">Ago</th>
        <th scope="col">Sep</th>
        <th scope="col">Oct</th>
        <th scope="col">Nov</th>
        <th scope="col">Dic</th>
        <th scope="col">Total</th>
        </tr>
    </thead>
    <tbody>

<?php
    
for ($i 0$i count($listaPdtos); $i++) {
?>
        <tr<?php echo ($i == 0) ? " class=\"impar\"" "" ?>>
            <td class="text"><?php echo $listaPdtos[$i]["name"?></td>
            <td class="number"><input type="text" name="numero1" size="2" onKeyUp="fncSumar()" /></td>
            <td class="number"><input type="text" name="numero2" size="2" onKeyUp="fncSumar()" /></td>
        <td class="number"><input type="text" name="numero3" size="2" onKeyUp="fncSumar()" /></td>
        <td class="number"><input type="text" name="numero4" size="2" onKeyUp="fncSumar()" /></td>
            <td class="number"><input type="text" name="numero5" size="2" onKeyUp="fncSumar()" /></td>
        <td class="number"><input type="text" name="numero6" size="2" onKeyUp="fncSumar()" /></td>
        <td class="number"><input type="text" name="numero7" size="2" onKeyUp="fncSumar()" /></td>
            <td class="number"><input type="text" name="numero8" size="2" onKeyUp="fncSumar()" /></td>
        <td class="number"><input type="text" name="numero9" size="2" onKeyUp="fncSumar()" /></td>
        <td class="number"><input type="text" name="numero10" size="2" onKeyUp="fncSumar()" /></td>
            <td class="number"><input type="text" name="numero11" size="2" onKeyUp="fncSumar()" /></td>
        <td class="number"><input type="text" name="numero12" size="2" onKeyUp="fncSumar()" /></td>
        <td class="number"><input type="text" name="resultado" size="4" /></td>
        </tr>
<?php
    
}
?>

 </tbody>
</table>
</form>
<?php
}
else {
?>
    <p><?php echo $listaPdtos ?></p>
<?php
}
?>
</body>
</html>