21/02/2012, 09:14
|
| | | Fecha de Ingreso: febrero-2012
Mensajes: 58
Antigüedad: 12 años, 9 meses Puntos: 1 | |
Respuesta: necesito hacer una tabla editable en html y que el usuario pueda ingresar Cita:
Iniciado por zarkiel Quizá te pueda servir esto: Formulario:
Código PHP:
Ver original<?php $total_filas = 5; // numero de filas $total_columnas = 4; // numero de columnas ?> <html> <head> <title></title> <script type="text/javascript"> function doAdd(fila,columna,obj){ var promedio_fila = document.getElementById('promedio_fila_' + fila); var promedio_columna = document.getElementById('promedio_columna_' + columna); var total_filas = 0; var total_columnas = 0; for(i=1;i<=<?=$total_filas?>;i++){ valor = parseInt(document.getElementById('campo_'+i+'_' + columna).value); total_filas += valor; } for(i=1;i<=<?=$total_columnas?>;i++){ valor = parseInt(document.getElementById('campo_'+fila+'_'+i).value); total_columnas += valor; } promedio_fila.value = Math.round(total_columnas/<?=$total_columnas?>); promedio_columna.value = Math.round(total_filas/<?=$total_filas?>); } </script> </head> <body> <form id="formulario" action="guardar.php" method="POST"> <table> <?php for($fila=1;$fila<=$total_filas;$fila++){ ?> <tr> <?php for($columna=1;$columna<=$total_columnas;$columna++){ ?> <td><input type="text" onkeyup="doAdd(<?=$fila?>,<?=$columna?>,this)" onkeydown="doAdd(<?=$fila?>,<?=$columna?>,this)" name="campo[<?=$fila?>][<?=$columna?>]" id="campo_<?=$fila?>_<?=$columna?>" value="0" /></td> <?php } ?> <td><input type="text" name="promedio_fila[<?=$fila?>]" id="promedio_fila_<?=$fila?>" readonly /></td> </tr> <?php } ?> <tr> <?php for($columna=1;$columna<=$total_columnas;$columna++){ ?> <td><input type="text" name="promedio_columna[<?=$columna?>]" id="promedio_columna_<?=$columna?>" readonly /></td> <?php } ?> </tr> <tr> <td colspan="<?=$total_columnas?>"> <input type="submit" value="Guardar" /> </td> </tr> </table> </form> </body> </html>
Archivo guardar.php
Código PHP:
Ver original<?php // obtenemos los valores foreach($campo As $fila=>$campo_columna){ foreach($campo_columna As $columna=>$valor_campo){ echo $valor_campo.' '; } echo '<br />'; } // obtenemos los promedios horizontales foreach($promedio_fila As $fila=>$valor){ echo 'Promedio Fila '.$fila.' => '.$valor.'<br />'; } // obtenemos los promedios verticales foreach($promedio_columna As $columna=>$valor){ echo 'Promedio Columna '.$columna.' => '.$valor.'<br />'; } ?>
Muchisimas gracias! Saludos. |