Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO Suma de función y variable FALLA

Estas en el tema de Suma de función y variable FALLA en el foro de PHP en Foros del Web. Hola, tengo una funcion que llama un procedimiento, esto devuelve un valor numérico, y funciona ok, pero necesito luego sumarlo a otro valor que tengo ...
  #1 (permalink)  
Antiguo 21/07/2015, 16:57
Avatar de ChapaGonzalo  
Fecha de Ingreso: agosto-2004
Mensajes: 197
Antigüedad: 19 años, 8 meses
Puntos: 2
Pregunta Suma de función y variable FALLA

Hola, tengo una funcion que llama un procedimiento, esto devuelve un valor numérico, y funciona ok, pero necesito luego sumarlo a otro valor que tengo almacenado en una variable. Sin embargo cuando intento hacer esto, solo me devuelve en pantalla el número de mi función, sin siquiera sumar con la variable.

mi código es:


<?php

$precio = 0;

/ esto se encuentra en un bucle while /
$precio = $precio + ObtenerPrecioProducto($row_DatosCarrito['idProducto']);
/ aqui finaliza el bucle /

echo $precio;
?>


La idea es que me devuelva la suma TOTAL de todos los productos que se han agregado. Espero me puedan hechar una manito !
  #2 (permalink)  
Antiguo 21/07/2015, 17:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Suma de función y variable FALLA

¿Podrías mostrar el código real y completo?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 21/07/2015, 17:04
Avatar de bet7o  
Fecha de Ingreso: febrero-2010
Ubicación: DF
Mensajes: 315
Antigüedad: 14 años, 2 meses
Puntos: 20
Respuesta: Suma de función y variable FALLA

intenta con floatvar(var1) + floatvar(var2)
__________________
Pero el no contaba con una cosa, mi peligroso desinteres por la vida humana
  #4 (permalink)  
Antiguo 21/07/2015, 18:03
 
Fecha de Ingreso: mayo-2003
Mensajes: 194
Antigüedad: 20 años, 11 meses
Puntos: 4
Respuesta: Suma de función y variable FALLA

no se si esto te servirá.

a mi me a venido de lujo para lo que queria hacer que era sumar un variable en un bucle while.

ahi va el codigo, espero que te sirva.

Código PHP:
$sqlPedido="select tabla1.*, tabla2.* from tabla1, tabla2 where tabla2.idProd=tabla2.idProd AND tabla2.numeroPedido = '".$_GET['numeroPedido']."' ";
$resPedido=mysql_query($sqlPedido)or die(mysql_error);
 
   
//se inicia la variable en cero
    
$precioTotal1 0;
 
 
while(
$rowPedido=mysql_fetch_array($resPedido))
 
{
 
$precioProd=$rowPedido['precioProd'];
$cantidad=$rowPedido['cantidad'];
$margen=$rowPedido['margen'];
 
       
// mi calculo matemático
    
$totalPrecioLista1 $cantidad*$precioProd;
    
$totalPrecioLista2 $cantidad*$precioProd*$margen/100;
    
$totalPrecioLista3 $totalPrecioLista1+$totalPrecioLista2;
    
    
$precioTotal1 += $totalPrecioLista3;
    
    
//acá redondeo la cantidad con ceil
        
$precioTotal1 ceil($precioTotal1);
 
}
// acá muestro lo que quería, el total.
echo "Precio Lista: <strong>" $precioTotal1 "</strong>"
  #5 (permalink)  
Antiguo 21/07/2015, 19:40
Avatar de ChapaGonzalo  
Fecha de Ingreso: agosto-2004
Mensajes: 197
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Suma de función y variable FALLA

Gracias a todos por su ayuda, enseguidita me pondré a evaluar sus respuestas =)

Aquí les envío el código en cuestión:



Cita:
<div id="catalogo">
<?php $precio = 0;
do { ?>
<div class="producto">
<div class="tituloproducto"><a href="ver_producto.php?recordID=<?php echo ObtenerNombreProducto($row_DatosCarrito['idProducto']); ?>"><?php echo ObtenerNombreProducto($row_DatosCarrito['idProducto']); ?></a></div>
<div class="textoproducto"><?php echo ObtenerMedidasProducto($row_DatosCarrito['idProducto']); ?></div>
<div class="precioproducto">$ <?php echo ObtenerPrecioProducto($row_DatosCarrito['idProducto']); ?></div>
</div>
<?php $precio = $precio + ObtenerPrecioProducto($row_DatosCarrito['idProducto']);?>
<?php } while ($row_DatosCarrito = mysql_fetch_assoc($DatosCarrito)); ?>
<div id="precio-total">
<p>TOTAL: $ <?php echo $precio; ?></p>
</div>
</div>


y mis funciones son:

Cita:
function ObtenerNombreProducto($identificador)
{

global $database_conexionarbeitt, $conexionarbeitt;
mysql_select_db($database_conexionarbeitt, $conexionarbeitt);
$query_Recordset1 = sprintf("SELECT tblproducto.strNombre FROM tblproducto WHERE idProducto = %s", $identificador);
$Recordset1 = mysql_query($query_Recordset1, $conexionarbeitt) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

echo $row_Recordset1['strNombre'];
mysql_free_result($Recordset1);
}



//**************************************************
//**************************************************
//**************************************************
//**************************************************


function ObtenerMedidasProducto($identificador)
{

global $database_conexionarbeitt, $conexionarbeitt;
mysql_select_db($database_conexionarbeitt, $conexionarbeitt);
$query_Recordset1 = sprintf("SELECT tblproducto.strMedidas FROM tblproducto WHERE idProducto = %s", $identificador);
$Recordset1 = mysql_query($query_Recordset1, $conexionarbeitt) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

echo $row_Recordset1['strMedidas'];
mysql_free_result($Recordset1);
}



//**************************************************
//**************************************************
//**************************************************
//**************************************************


function ObtenerPrecioProducto($identificador)
{

global $database_conexionarbeitt, $conexionarbeitt;
mysql_select_db($database_conexionarbeitt, $conexionarbeitt);
$query_Recordset1 = sprintf("SELECT tblproducto.dbPrecio FROM tblproducto WHERE idProducto = %s", $identificador);
$Recordset1 = mysql_query($query_Recordset1, $conexionarbeitt) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

echo $row_Recordset1['dbPrecio'];
mysql_free_result($Recordset1);
}
  #6 (permalink)  
Antiguo 21/07/2015, 19:44
Avatar de ChapaGonzalo  
Fecha de Ingreso: agosto-2004
Mensajes: 197
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Suma de función y variable FALLA

la línea en cuestión es:

Cita:
<?php $precio = $precio + ObtenerPrecioProducto($row_DatosCarrito['idProducto']);?>
donde me debería sumar los valores numéricos, me devuelve el resultado de mi funcion "ObtenerPrecioProducto" como si lo hiciera con un "echo":

echo ObtenerPrecioProducto($row_DatosCarrito['idProducto']);

:S
  #7 (permalink)  
Antiguo 21/07/2015, 20:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Suma de función y variable FALLA

Cita:
[...] me devuelve el resultado de mi funcion "ObtenerPrecioProducto" como si lo hiciera con un "echo":
Pues ese es exactamente tu error.

Las funciones, para que devuelvan algo, deben usar return y no echo.

Código PHP:
Ver original
  1. // MAL
  2. function foo() {
  3.   echo 'bar';
  4. }
  5.  
  6. $x = foo();
  7. var_dump($x); // $x no es "bar"
  8.  
  9. // BIEN
  10. function foo() {
  11.   return 'bar';
  12. }
  13.  
  14. $x = foo();
  15. var_dump($x); // $x sí es "bar"

¿Si notas las diferencias?

Y si lo comparas con tu código ¿ya viste que haces mal?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 22/07/2015, 10:15
Avatar de ChapaGonzalo  
Fecha de Ingreso: agosto-2004
Mensajes: 197
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Suma de función y variable FALLA

Muchas gracias a todos por sus respuestas y sus ganas de ayudar SIEMPRE a la comunidad!

pateketrueke, tal como tu dices, el error es mio, y claro, siempre el error es humano. era sustituir el echo por el return! cosa obvia ! gracias, llevaba una semana trabado con ese rollo. Me gusta solucionar mis asuntos a mi mismo, pero llegó un punto en que ya no podía ver qué estaba mal! y era algo tan sencillo!!! soy novato aun en PHP , gracais de verdad =)

¡Qué tengas un excelente día ! :D

Etiquetas: falla, suma, variable
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:25.