Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] multiplicadora php con dos variables

Estas en el tema de multiplicadora php con dos variables en el foro de PHP en Foros del Web. <!DOCTYPE html> <html><center> <?php # Incluimos la configuracion include('conexion_resta.php'); # pedimos que nos muestre la base de datos deudas $sql = "SELECT * FROM horas"; ...
  #1 (permalink)  
Antiguo 05/07/2015, 16:35
 
Fecha de Ingreso: diciembre-2004
Mensajes: 30
Antigüedad: 19 años, 10 meses
Puntos: 0
multiplicadora php con dos variables

<!DOCTYPE html>

<html><center>

<?php
# Incluimos la configuracion
include('conexion_resta.php');
# pedimos que nos muestre la base de datos deudas
$sql = "SELECT * FROM horas";
$res = mysql_query($sql, $link) or die(mysql_error());
?>

<?php

require ("conexion_resta.php");

$query=mysql_query("select * from horas");
$suma=0;
while($sumar=mysql_fetch_array($query))
{
$suma=$suma+$sumar["excedido"];
}
?>


<style>
body {
background: #F1EDED;
</style>
<body>

<head>
<script type="text/javascript">
/**
* Funcion que se ejecuta cada vez que se añade una letra en un cuadro de texto
* multiplicar los valores de los cuadros de texto
*/
function multiplicar()
{
var valor1=("valor1");
var valor2=("valor2");
// realizamos la suma de los valores y los ponemos en la casilla del
// formulario que contiene el total
document.getElementById("total").value=parseFloat( valor1)*parseFloat(valor2);
}

/**
* Funcion para verificar los valores de los cuadros de texto. Si no es un
* valor numerico, cambia de color el borde del cuadro de texto
*/
function verificar(id)
{
var obj=document.getElementById(id);
if(obj.value=="")
value="0";
else
value=obj.value;
if(validate_importe(value,1))
{
// marcamos como erroneo
obj.style.borderColor="#808080";
return value;
}else{
// marcamos como erroneo
obj.style.borderColor="#f00";
return 0;
}
}

/**
* Funcion para validar el importe
* Tiene que recibir:
* El valor del importe (Ej. document.formName.operator)
* Determina si permite o no decimales [1-si|0-no]
* Devuelve:
* true-Todo correcto
* false-Incorrecto
*/
function validate_importe(value,decimal)
{
if(decimal==undefined)
decimal=0;

if(decimal==1)
{
// Permite decimales tanto por . como por ,
var patron=new RegExp("^[0-9]+((,|\.)[0-9]{1,2})?$");
}else{
// Numero entero normal
var patron=new RegExp("^([0-9])*$")
}

if(value && value.search(patron)==0)
{
return true;
}
return false;
}
</script>

<style>
input {border:1px solid #808080;text-align:right;width:100px;}
#total {font-weight:bold;color:red}
div {width:300px;text-align:right;}
</style>
</head>

<body>
<h1>Cobro de Minutos Excedidos</h1>
<font size="4.5">
<div>Cobro por Minuto: <input type="text" name="valor1" id="valor1" value="00.66" disabled></div>
<div>Minutos Excedidos: <input type="text" name="valor2" id="valor2" value="<?php echo $suma=$suma+$sumar['excedido'];?>" disabled></div>
<div>Total a Pagar: <input type="text" id="total" disabled value="0"></font>
</body></center>
</html>


-----------------------------------------------------------------------------------------------


quisiera saber cual es el error? uso una base de datos donde me da la suma de una fila, que son datos numericos, y los multiplico por otra variable de numero 00.66 .....

detecta los campos de la conexion msql, y arroja el dato real de 1000 = que corresponde a (<?php echo $suma=$suma+$sumar['excedido'];?>) ...

en el formulario me da los datos especificos de:

Cobros por minutos: 00.66
Minutos Excedidos: 1000

y me arroja como error del resultado total a pagar "NaN"

POR MAS QUE INTENTO REVISAR EL ERROR NO LO COMPRENDO.... AYUDENME
[email protected] DE ANTEMANO GRACIAS,,,,
  #2 (permalink)  
Antiguo 05/07/2015, 16:40
 
Fecha de Ingreso: diciembre-2004
Mensajes: 30
Antigüedad: 19 años, 10 meses
Puntos: 0
Respuesta: multiplicadora php con dos variables

el archivo conexion_resta.php , es una conexion con la base de datos....

<?php
# Conexion a mysql

$dbhost = "xxxxx"; // Servidor
$dbuser = "xxxx"; // Nombre de Usuario
$dbbase = "xxxxx"; // Nombre de la base de datos
$dbpass = "xxxxxx"; // Contraseña

# Conectamos a la base de datos
$link = mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbbase,$link);
?>

---------------------------------------------------------------------

la conexion de base de datos no creo k sea el error, por k me arroja los resultados de la suma de toda la fila que le indico.... pero de todos modos les pongo este archivo para desmostrarles que es la conexion y esta bien.... espero puedan ayudarme
  #3 (permalink)  
Antiguo 05/07/2015, 16:58
 
Fecha de Ingreso: diciembre-2004
Mensajes: 30
Antigüedad: 19 años, 10 meses
Puntos: 0
Respuesta: multiplicadora php con dos variables

para que se den una idea mas clara tengo un ejemplo aki... sobre la tabla de multiplicacion ... va muy perfecto

http://crira-colima.byethost7.com/login/pago.html


nada mas que yo le quiero poner las variables de multiplicacion para el cobro de un salario ya calculado automaticamente .... (cobro x minuto * los minutos realizados), y nada mas no me sale... no entiendo cual es el error de mi edicion...

este es el enlace

http://crira-colima.byethost7.com/login/pago2.php

aunke si se puede

espero puedan ayudarme

Última edición por c4r105; 05/07/2015 a las 17:11
  #4 (permalink)  
Antiguo 05/07/2015, 19:24
 
Fecha de Ingreso: diciembre-2004
Mensajes: 30
Antigüedad: 19 años, 10 meses
Puntos: 0
Respuesta: multiplicadora php con dos variables

Nadie que sepa sobre este tema
  #5 (permalink)  
Antiguo 05/07/2015, 19:57
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 5 meses
Puntos: 263
Respuesta: multiplicadora php con dos variables

Lo unico que veo es en tu script, cambia var valor1=("valor1"); por:
Código Javascript:
Ver original
  1. var valor1 = document.getElementbyId ("valor1").value;
  2. var valor2 = document.getElementbyId("valor2").value;
prueba con eso a ver alli ya deberia de multiplicarte los valores
  #6 (permalink)  
Antiguo 06/07/2015, 10:22
 
Fecha de Ingreso: diciembre-2004
Mensajes: 30
Antigüedad: 19 años, 10 meses
Puntos: 0
Respuesta: multiplicadora php con dos variables

grax xfxstudios... hice lo k me dijiste y ya no me arrojaba el error de NAN.... ME ARROJABA EL NUMERO 0... por defecto y no ejecutaba ningun resultado...

comparando tus aportes y editando mil y una vez ya me dio el resultado...

copiare el codigo fuente x si alguien mas se interesa.... xfxstudios puedes agregarme a tus amigos...

----------------------------------------------------------------------------------------------------------

<!DOCTYPE html>
<!-- todos mis creditos a forosdelweb.com y sus colaboradores -->
<html><center>

<?php

require ("conexion_resta.php");

$query=mysql_query("select * from horas");
$suma=0;
while($sumar=mysql_fetch_array($query))
{
$suma=$suma+$sumar["excedido"];
}
?>

<style>
body {
background: #F1EDED;
</style>
<body>

<head>
<script type="text/javascript">
/**
* Funcion que se ejecuta cada vez que se añade una letra en un cuadro de texto
* multiplicar los valores de los cuadros de texto
*/
function multiplicar()
{
var valor1=verificar("valor1");
var valor2=verificar("valor2");
// realizamos la suma de los valores y los ponemos en la casilla del
// formulario que contiene el total
document.getElementById("total").value=parseFloat( valor1)*parseFloat(valor2);
}

/**
* Funcion para verificar los valores de los cuadros de texto. Si no es un
* valor numerico, cambia de color el borde del cuadro de texto
*/
function verificar(id)
{
var obj=document.getElementById(id);
if(obj.value=="")
value="0";
else
value=obj.value;
if(validate_importe(value,1))
{
// marcamos como erroneo
obj.style.borderColor="#808080";
return value;
}else{
// marcamos como erroneo
obj.style.borderColor="#f00";
return 0;
}
}

/**
* Funcion para validar el importe
* Tiene que recibir:
* El valor del importe (Ej. document.formName.operator)
* Determina si permite o no decimales [1-si|0-no]
* Devuelve:
* true-Todo correcto
* false-Incorrecto
*/
function validate_importe(value,decimal)
{
if(decimal==undefined)
decimal=0;

if(decimal==1)
{
// Permite decimales tanto por . como por ,
var patron=new RegExp("^[0-9]+((,|\.)[0-9]{1,2})?$");
}else{
// Numero entero normal
var patron=new RegExp("^([0-9])*$")
}

if(value && value.search(patron)==0)
{
return true;
}
return false;
}
</script>

<style>
input {border:1px solid #808080;text-align:right;width:100px;}
#total {font-weight:bold;color:red}
div {width:300px;text-align:right;}
</style>
</head>

<body>
<h1>Cobro de Minutos Excedidos</h1>
<font size="4.5">
<div>Cobro por Minuto: <input type="text" id="valor1" value="00.66" onkeyup="multiplicar();"></div>
<div>Minutos Excedidos: <input type="text" id="valor2" value="<?php echo $suma=$suma+$sumar['excedido'];?>" onkeyup="multiplicar();"></div>
<div>Total a Pagar: <input type="text" id="total" disabled value="0"></div></font>
</body></center>
</html>

-----------------------------------------------------------------------------------------------

aki el link.... http://crira-colima.byethost7.com/login/pago.php

gracias a todos los participantes y colaboradores de forosdelweb.com.
  #7 (permalink)  
Antiguo 06/07/2015, 10:45
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 9 meses
Puntos: 69
Respuesta: multiplicadora php con dos variables

Todo esto:

Cita:
Iniciado por c4r105 Ver Mensaje
$query=mysql_query("select * from horas");
$suma=0;
while($sumar=mysql_fetch_array($query))
{
$suma=$suma+$sumar["excedido"];
}
Lo puedes reemplazar por esto:

Código PHP:
Ver original
  1. $query = mysql_query("SELECT SUM(excedido) AS Suma FROM Horas");
  2. $rowEmp = mysql_fetch_assoc($query);
  3. $suma=$rowEmp['Suma'];

Espero te sirva.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #8 (permalink)  
Antiguo 07/07/2015, 09:55
 
Fecha de Ingreso: diciembre-2004
Mensajes: 30
Antigüedad: 19 años, 10 meses
Puntos: 0
Respuesta: multiplicadora php con dos variables

gracias chronos682, ya me dio el resultado, puedes checar aki.....

http://crira-colima.byethost7.com/login/pago.php

nada mas tengo k poner un enter en cualkier parte de las barras de texto...
para k formule el resultado... super cool... grax amigo

---------------------------------------------------------------------------------------

saludos a los k hacen de este foro, una comunidad de excelentes programadores.

Etiquetas: diseño-web, html, variables
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 14:44.