Foros del Web » Programando para Internet » PHP »

Calcular promedio con una dato del input sin esperar a que se inserte a la BD

Estas en el tema de Calcular promedio con una dato del input sin esperar a que se inserte a la BD en el foro de PHP en Foros del Web. Hola a todos tengo la siguiente función para calcular el promedio de 3 notas.... Código HTML: <script> function promedio() { var n1 = parseFloat(document.form1.p1.value); var ...
  #1 (permalink)  
Antiguo 23/05/2012, 17:58
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Calcular promedio con una dato del input sin esperar a que se inserte a la BD

Hola a todos tengo la siguiente función para calcular el promedio de 3 notas....


Código HTML:
<script> 
function promedio() { 

var n1 = parseFloat(document.form1.p1.value); 
var n2 =parseFloat(document.form1.p2.value); 
var n3 = parseFloat(document.form1.p3.value); 

document.form1.prom.value=((n1+n2+n3)/3).toFixed(2); 
document.getElementById(prom+'[4]').value

} 
</script> 

Y un formulario asi
<form action="<?php echo $editFormAction; ?>" method="post" id="form1" name="form1">
<table border="0" class="normal">

<thead>
<tr>
<td></td>
<td>MATR&Iacute;CULA</td>
.
.
.

Código PHP:
 <?php do { ?>
  <tbody>
    <tr>  
  
       .
       .
       .
 <td><input   type="text"  name="p1[]" id="p1[]" value="<?php echo $row_calificarm['parcial1']; ?>"   onChange="promedio()" />      </td>
        <td><input   type="text"  name="p2[]" id="p2[]" value="<?php echo $row_calificarm['parcial2']; ?>"  size="3" onchange="promedio()"/>      </td>
       
   <td><input type="text" name="p3[]" id="p3[]" value="<?php echo $row_calificarm['parcial3']; ?>"   size="3" onchange ="promedio()"/></td>
     
     
      
          <td> <input type="text" name="prom[]" id="prom" value="  <?php  $Promedio=($row_calificarm['parcial1']+$row_calificarm['parcial2']+ $row_calificarm['parcial3'])/3; echo number_format ($Promedio,2); ?> "size="3" style="border: none;background:#e6e6e6"  /></td>
En este mismo formulario mando a insertar mi nota 3... asi que el promedio se calcula bien hasta que mando a insertar la calificación num. 3.... me gustaría que tomara el valor del input p3[] sin necesidad de registrarlo previamente a la bd... intente con POST pero no consigo que funcione alguien me puede ayudar
  #2 (permalink)  
Antiguo 24/05/2012, 00:26
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Calcular promedio con una dato del input sin esperar a que se inserte a la

Este tipo de cosas es conveniente calcularlo del lado del servidor y no confiar en que el usuario no intentará manipular la información o que Javascript esté activo.

Algunas preguntas:

- Qué problema tienes con calcularlo en PHP?
- Sabías que incluso no es necesario que almacenes el promedio porque MySQL tiene funciones que te pueden ayudar a calcularlo "al vuelo"? AVG(campo1, campo2, campoN) es el que hace la "magia". Más info del tema aquí mismo en FDW: http://www.forosdelweb.com/tags/avg.html
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 24/05/2012, 10:38
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Calcular promedio con una dato del input sin esperar a que se inserte a la

Gracias por responder en realidad no tengo ningun problema ... el detalle esta que en este formulario mando a insertar mi nota 3... por la tanto para calcular el promedio hay que dar doble click de lo contrario en mi BD solo se registra la nota 3 y el promedio solo de la nota 1 y 2... sin tomar en cuenta la nota 3 (que se inserto recientemente)
Es por ello me gustaría calcular el promedio tomando el valor del input p3 (donde esta mi nota final)
  #4 (permalink)  
Antiguo 24/05/2012, 18:08
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Calcular promedio con una dato del input sin esperar a que se inserte a la

Hola de nuevo estoy intentando calcular el promedio así:

Código PHP:
<?php
$a
=$_POST['p1'][$i];
$b=$_POST['p2'][$i];
$c=$_POST['p3'][$i];

$resultado=$a+$b+$c/3;

echo 
"Promedio:  $resultado"
?>
Pero me resultado es 0

Supongo q es por trabajar al inicio con do while (ya que me muestra los registros mientras se cumple una determinada condición)

Alguien me podría ayudar por fa

Etiquetas: bd, dato, esperar, formulario, input, promedio, calculadora
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:41.