Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Recalcular un datos al cambiar el valor en otro

Estas en el tema de Recalcular un datos al cambiar el valor en otro en el foro de PHP en Foros del Web. Buenas, estoy calculando el IMC de una persona y si cambio la altura o el peso quiero que me recalcule el valor ya sacado anteriormente, ...
  #1 (permalink)  
Antiguo 16/06/2015, 02:18
 
Fecha de Ingreso: junio-2015
Mensajes: 9
Antigüedad: 9 años, 5 meses
Puntos: 0
Recalcular un datos al cambiar el valor en otro

Buenas,

estoy calculando el IMC de una persona y si cambio la altura o el peso quiero que me recalcule el valor ya sacado anteriormente, como debo hacerlo?

Este es el código

Código PHP:
Peso<input type='number' name='peso' min='1' max='250'value ="<?php echo $row['peso']?>" required>
                <?php $peso $row['peso']; ?>
                Talla<input type='number' name='talla' min='100' max='250' value ="<?php echo $row['talla']?>"><br required>
                
                <?php 
                ?>
                <p align ='left'>Edad<input type='number' name='edad' min='15' max='99' value ="<?php echo $row['edad']?>" required>
                <?php 
                $talla 
$row['talla']; 
                
$talla = ($talla 100);
                
$imc = ($peso / ($talla^2) );
                
                
?>
                IMC<input type='text' name='imc' min='10' max='50' value ="<?php echo $imc?>"><br></p>
                <hr>
esos datos después los meteré en una BBDD mysql.

gracias!!
  #2 (permalink)  
Antiguo 16/06/2015, 02:43
 
Fecha de Ingreso: noviembre-2014
Mensajes: 34
Antigüedad: 10 años
Puntos: 0
Respuesta: Recalcular un datos al cambiar el valor en otro

Deberias de tener un formulario por post y coger las variables con $_POST['name'] y $_POST['name'], y cuando llames a post if(isset($_POST)){ //Aqui calculas el tema. }

No se si me he explicado, pero veo en tu codigo que no hay ningun form, y deberias de tenerlo para enviar los datos, excepto los pases por jquery que no es el caso.
  #3 (permalink)  
Antiguo 16/06/2015, 02:52
 
Fecha de Ingreso: junio-2015
Mensajes: 9
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Recalcular un datos al cambiar el valor en otro

Cita:
Iniciado por examplesjquery Ver Mensaje
Deberias de tener un formulario por post y coger las variables con $_POST['name'] y $_POST['name'], y cuando llames a post if(isset($_POST)){ //Aqui calculas el tema. }

No se si me he explicado, pero veo en tu codigo que no hay ningun form, y deberias de tenerlo para enviar los datos, excepto los pases por jquery que no es el caso.
Lo tengo todo anidado en un form, los datos los paso por post pero los mando todos a otra página ese sería el único dato (IMC) que necesitaría que se recalculase al meter los datos en talla y peso nada más salir de talla
  #4 (permalink)  
Antiguo 16/06/2015, 04:24
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 11 años, 6 meses
Puntos: 10
Respuesta: Recalcular un datos al cambiar el valor en otro

Cita:
quiero que me recalcule el valor ya sacado anteriormente
¿A que te refieres con el valor ya sacado anteriormente?

No se entiende bien la logica del programa
¿Quieres que cambie el valor del input con el nombre "imc" cuando el cliente cambia un valor en los inputs "talla" y/o "peso" ?

Si es asi, porque no haces los calculos directamente en el cliente con javascript poner una funcion calcular_imc() que la llamas con el onchange de los inputs (talla y peso) sin tener que mandar nada al php para hacer este calculo o simplemente enviar los calculos ya hechos para guardarlos en la base datos si las necesitas
  #5 (permalink)  
Antiguo 16/06/2015, 04:26
 
Fecha de Ingreso: junio-2015
Mensajes: 9
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Recalcular un datos al cambiar el valor en otro

Cita:
Iniciado por matake Ver Mensaje
¿A que te refieres con el valor ya sacado anteriormente?

No se entiende bien la logica del programa
¿Quieres que cambie el valor del input con el nombre "imc" cuando el cliente cambia un valor en los inputs "talla" y/o "peso" ?

Si es asi, porque no haces los calculos directamente en el cliente con javascript poner una funcion calcular_imc() que la llamas con el onchange de los inputs (talla y peso) sin tener que mandar nada al php para hacer este calculo o simplemente enviar los calculos ya hechos para guardarlos en la base datos si las necesitas
si exacto. introducir talla y peso y que se calcule automáticamente en IMC y no que lo calcule al enviar los datos a la BBDD.
Javascript estoy un poco verde, no sé como realizar esa función.. tendré que investigar..
  #6 (permalink)  
Antiguo 16/06/2015, 04:56
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 11 años, 6 meses
Puntos: 10
Respuesta: Recalcular un datos al cambiar el valor en otro

Entonces sera algo asi:

Código HTML:
Ver original
  1. function calcular_imc(){
  2.     var peso = document.getElementById('peso').value;
  3.     var talla = document.getElementById('talla').value;
  4.     talla = talla / 100;
  5.     var imc = peso / (talla * talla);
  6.     imc = Math.round(imc * 100) / 100
  7.    
  8.    
  9.     document.getElementById('imc').value = imc;
  10. }
  11. </head>
  12. <body onload="calcular_imc()">     
  13. Peso<input type='number' name='peso' min='1' max='250'value =70  id='peso' onchange="calcular_imc()" required>
  14.                
  15. Talla<input type='number' name='talla' min='100' max='250' value =170 id='talla' onchange="calcular_imc()" ><br required>
  16.  
  17. <?php  
  18. ?>
  19. <p align ='left'>Edad<input type='number' name='edad' min='15' max='99' value ="edad" required>
  20. <?php          
  21. ?>
  22. IMC<input type='text' name='imc' min='10' max='50' value ="" id='imc'><br></p>
  23. </body>
  24. </html>

Etiquetas: mysql, valor
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 21:35.