Foros del Web » Programando para Internet » PHP »

Ayuda con suma / multiplicacion de funciones

Estas en el tema de Ayuda con suma / multiplicacion de funciones en el foro de PHP en Foros del Web. Hola! Aqui continuando con mi proceso de aprendizaje. Tengo la siguiente situacion: He creado dos funciones para obtener unos valores. Código PHP: $zona  =  $_POST ...
  #1 (permalink)  
Antiguo 21/11/2010, 21:48
 
Fecha de Ingreso: octubre-2010
Mensajes: 122
Antigüedad: 14 años, 1 mes
Puntos: 6
Ayuda con suma / multiplicacion de funciones

Hola!

Aqui continuando con mi proceso de aprendizaje. Tengo la siguiente situacion: He creado dos funciones para obtener unos valores.

Código PHP:

$zona 
$_POST['zona']; 
$servicio $_POST['servicio'];
$pesolibras $_POST['pesolibras'];
$kilos $pesolibras/2.2046;
$id 2;

$kilosdmas= ($kilos 5);

function 
tarifasobrepeso ($zona$id){
        
$query "SELECT `$zona` FROM `inposdom`.`jos_inpos_export_cert` WHERE id = 2";
        
$result mysql_query($query);
        
$row mysql_fetch_array($result);
        echo 
$row[$zona];
        
        }
        
        
    function 
get_tarifa ($kilos$zona) {
        
$query ="SELECT `$zona` FROM `inposdom`.`jos_inpos_export_cert`";
        
$result mysql_query($query);
        
$row mysql_fetch_array($result);
        echo 
$row[$zona];    
        } 
Esto todo funciona, cuando hago "echo" de cada uno por separado obtengo los valores correctos:

Tarifa de los primeros 5 Kgs RD$ 1075.00 Pesos Oro (esta es la funcion "get_tarifa")
Kilos adicionales: 4.07 (este es $kilosdmas)
Tarifa de sobrepeso por kilogramo: 170 (esta es la funcion "tarifasobrepeso")


Lo que necesito en otras palabras es: 1075.00 + (4.07 * 170)

(multiplicar los kilos de mas($kilosdmas) por la tarifa por sobrepeso (tarifasobrepeso ($zona, $id)) y sumarlo a la tarifa base (get_tarifa ($kilos, $zona)).

He intentado varias formas y no me sale como, esto es lo que tengo, no se si es asunto de los parentesis, o necesito usar comillas, o crear una variable con esta formula y entonces hacer echo a la variable, bueno, que mas les digo, he tratado varias formas y no encuentro la via. Esto es lo ultimo que he intentado:

Código PHP:

echo (get_tarifa ($kilos$zona)) + (($kilosdmas) * (tarifasobrepeso ($zona$id))); 
Ayuda por favor!

Gracias!!!

Última edición por sentnel; 21/11/2010 a las 22:00
  #2 (permalink)  
Antiguo 21/11/2010, 22:02
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: Ayuda con suma / multiplicacion de funciones

imprimir (echo) y devolver (return) son dos cosas totalmente distintas. las funciones tienen que devolver un valor al proceso de ejecuccion de php. o sea, al final tienes que poner return $variable.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 21/11/2010, 22:08
 
Fecha de Ingreso: octubre-2010
Mensajes: 122
Antigüedad: 14 años, 1 mes
Puntos: 6
Respuesta: Ayuda con suma / multiplicacion de funciones

Gracias zerokilled! No tenia eso claro... ya voy ganando!

Lo que sugieres es algo asi:

Código PHP:

$importe 
= (get_tarifa ($kilos$zona)) + (($kilosdmas) * (tarifasobrepeso ($zona$id)));
        return 
$importe
Asi tal cual no ejecuta ninguna operacion. Disculpen, estoy tratando de asimilar esto lo mejor posible, agradezco su ayuda!
  #4 (permalink)  
Antiguo 21/11/2010, 22:13
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: Ayuda con suma / multiplicacion de funciones

return siempre va dentro del cuerpo de las funciones. o sea, al final del cuerpo de cada funcion devuelve la variable que contiene el computo o los datos de la base de datos.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 21/11/2010, 22:24
 
Fecha de Ingreso: octubre-2010
Mensajes: 122
Antigüedad: 14 años, 1 mes
Puntos: 6
Respuesta: Ayuda con suma / multiplicacion de funciones

Ok... entendido...

Cambie los "echo" por "return" en las funciones, asi:

Código PHP:

function tarifasobrepeso ($zona$id){
        
$query "SELECT `$zona` FROM `inposdom`.`jos_inpos_export_cert` WHERE id = 2";
        
$result mysql_query($query);
        
$row mysql_fetch_array($result);
        return 
$row[$zona];
        
        }
        
        
    function 
get_tarifa ($kilos$zona) {
        
$query ="SELECT `$zona` FROM `inposdom`.`jos_inpos_export_cert`";
        
$result mysql_query($query);
        
$row mysql_fetch_array($result);
        return 
$row[$zona];    
        } 

entonces desaparacieron los resultados que obtenia con "echo", o sea, lo que con echo me arroja:

Tarifa de los primeros 5 Kgs RD$ 1075.00 Pesos Oro
Kilos adicionales: 4.07194048807
Tarifa de sobrepeso por kilogramo: 170


con return se convierte en:

Tarifa de los primeros 5 Kgs RD$ .00 Pesos Oro
Kilos adicionales: 4.07194048807
Tarifa de sobrepeso por kilogramo:

desaparecen el 1075 y el 170.

Obviamente tengo un largo camino por delante...
  #6 (permalink)  
Antiguo 21/11/2010, 22:32
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: Ayuda con suma / multiplicacion de funciones

primero invoca las funciones y almacena los valores devuelto en variables. luego, usas esas variables para imprimir y realizar el resto del computo. ¡vamos, es simple logica! yo no me dedico a php pero la logica es casi igual que en otros lenguaje similares.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 21/11/2010, 22:46
 
Fecha de Ingreso: octubre-2010
Mensajes: 122
Antigüedad: 14 años, 1 mes
Puntos: 6
Respuesta: Ayuda con suma / multiplicacion de funciones

@zerokilled: Te agradezco muchisimo lo que haces, creeme. He avanzado mucho (aunque no lo parezca) en un par de semanas que tengo (claro en cortos periodos de tiempo libre aca y alla...) punchando esto, y estoy muy contento, pero a veces me pongo bruto, tal vez ahora con lo tarde y el sueño venciendome no estoy pensando claro.

Cerrare ahora y ya mañana vere todo fresco a ver si me sale. Gracias mil... creo que como tutor eres bueno, pues incitas al uso del razonamiento... es lo que no puedo hacer a esta hora ... razonar!

Jajaja... gracias, buenas noches!
  #8 (permalink)  
Antiguo 22/11/2010, 07:24
 
Fecha de Ingreso: octubre-2010
Mensajes: 122
Antigüedad: 14 años, 1 mes
Puntos: 6
Respuesta: Ayuda con suma / multiplicacion de funciones

Me rindo! Es que el que no sabe no sabe!

Voy a reformular la pregunta:

Necesito almacenar en dos variables los resultados de estas dos funciones:

Código PHP:

function tarifasobrepeso ($zona$id){
        
$query "SELECT `$zona` FROM `inposdom`.`jos_inpos_export_cert` WHERE id = 2";
        
$result mysql_query($query);
        
$row mysql_fetch_array($result);
        echo 
$row[$zona];
        
        }
        
        
    function 
get_tarifa ($kilos$zona) {
        
$query ="SELECT `$zona` FROM `inposdom`.`jos_inpos_export_cert`";
        
$result mysql_query($query);
        
$row mysql_fetch_array($result);
        echo 
$row[$zona];    
        } 
que me permitan ejecutar una operacion de suma y multiplicacion con los resultados, asi:

Multiplicar los kilos de mas($kilosdmas) por la tarifa por sobrepeso (tarifasobrepeso ($zona, $id)) y sumarlo a la tarifa base (get_tarifa ($kilos, $zona).

Agradezco su ayuda!
  #9 (permalink)  
Antiguo 22/11/2010, 07:34
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 9 meses
Puntos: 55
Respuesta: Ayuda con suma / multiplicacion de funciones

$a = tarifasobrepeso ($zona, $id);
$b = get_tarifa ($kilos, $zona);
$c = $a + $b;

o

$c = tarifasobrepeso ($zona, $id) + get_tarifa ($kilos, $zona);

siempre y cuando el return de la funcion sea un valor numerico.
  #10 (permalink)  
Antiguo 22/11/2010, 08:02
 
Fecha de Ingreso: octubre-2010
Mensajes: 122
Antigüedad: 14 años, 1 mes
Puntos: 6
Respuesta: Ayuda con suma / multiplicacion de funciones

Gracias!

Realmente ustedes juegan un papel importantisimo en el desarrollo de los que como yo nos interesamos en aprender.

Gracias mil!!!!

Etiquetas: funciones, multiplicacion, suma
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 13:44.