Foros del Web » Programando para Internet » PHP »

PHP OO Problemas al multiplicar

Estas en el tema de Problemas al multiplicar en el foro de PHP en Foros del Web. Hola que tal Comunidad, tengo el siguiente problema.. tengo este codigo que a la hora de llegar al total no me multiplica nada,, me sale ...
  #1 (permalink)  
Antiguo 26/12/2011, 19:11
 
Fecha de Ingreso: noviembre-2011
Mensajes: 14
Antigüedad: 12 años, 5 meses
Puntos: 1
Pregunta Problemas al multiplicar, Ayuda porfavor :(

Hola que tal Comunidad, tengo el siguiente problema..
tengo este codigo que a la hora de llegar al total no me multiplica nada,, me sale un simple cero http://static.forosdelweb.com/fdwtheme/images/smilies/scared.png, y no hace lo que deberia hacer, precio*cantidad ..

gracias.

<!-------------------------------------------------------------------------------------------------->

<?php
session_start();
if(isset($_SESSION['carrito']) || isset($_POST['cantidad'])){
if(isset($_SESSION['carrito'])){
$carro_rimag=$_SESSION['carrito'];
$nombre=$_POST['nombre'];
$precio=$_POST['precio'];
$cantidad=$_POST['cantidad'];
$carro_rimag[]=array("nombre"=>$nombre,"precio"=>$precio,"cantid ad"=>$cantidad);
}else{
$nombre=$_POST['nombre'];
$precio=$_POST['precio'];
$cantidad=$_POST['cantidad'];
$carro_rimag[]=array("nombre"=>$nombre,"precio"=>$precio,"cantid ad"=>$cantidad);
}
$_SESSION['carrito']=$carro_rimag;
}

?>

<!----------------------------php------------------------------------->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Tienda Online</title>
<script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
<link href="estilotexto.css" rel="stylesheet" type="text/css" />
<style type="text/css">
body {
background-color: #E4E4E4;
}
</style>
</head>

<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<th scope="col"><img src="images/cabezera_tienda.jpg" width="1114" height="250" /></th>
</tr>
<tr>
<td align="center"><object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="1114" height="45">
<param name="movie" value="menu_tienda.swf" />
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<param name="swfversion" value="6.0.65.0" />
<!-- Esta etiqueta param indica a los usuarios de Flash Player 6.0 r65 o posterior que descarguen la versión más reciente de Flash Player. Elimínela si no desea que los usuarios vean el mensaje. -->
<param name="expressinstall" value="Scripts/expressInstall.swf" />
<!-- La siguiente etiqueta object es para navegadores distintos de IE. Ocúltela a IE mediante IECC. -->
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="menu_tienda.swf" width="1114" height="45">
<!--<![endif]-->
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<param name="swfversion" value="6.0.65.0" />
<param name="expressinstall" value="Scripts/expressInstall.swf" />
<!-- El navegador muestra el siguiente contenido alternativo para usuarios con Flash Player 6.0 o versiones anteriores. -->
<div>
<h4>El contenido de esta página requiere una versión más reciente de Adobe Flash Player.</h4>
<p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Obtener Adobe Flash Player" width="112" height="33" /></a></p>
</div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object></td>
</tr>
<tr>
<td align="center"><table width="1114" border="1" bordercolor="#CCCCCC" cellspacing="0" cellpadding="0">
<tr>
<td colspan="5" class="producto"><p class="texto">Seguir Comprando</p></td>
</tr>
<tr>
<td width="272" height="27" align="center" valign="middle" bgcolor="#4A4B50" class="fecha" style="color: #3C3B40"><img src="images/cabezera/producto.png" width="67" height="11" align="middle" /></td>
<td width="111" height="27" align="center" valign="middle" bgcolor="#4A4B50" class="fecha" style="color: #3C3B40"><p><img src="images/cabezera/precio.png" width="44" height="11" align="middle" /></p></td>
<td width="78" height="27" align="center" bgcolor="#CCCCCC" class="fecha"><span class="agregar"><span class="texto_chico"><span class="texto"><span class="texto"><span class="producto2"><span class="texto">CANTIDAD</span></span></span></span></span><span class="texto"><span class="producto2"></span></span></span></td>
<td width="595" height="27" align="right" bgcolor="#CCCCCC" class="fecha"><span class="texto_chico"><span class="agregar"><span class="fecha"><span class="total">Total </span></span></span></span></td>
<td width="46" height="27" align="right" bgcolor="#E6564C" class="fecha"><span class="texto_chico"><span class="fecha"><span class="total">Eliminar</span></span></span></td>
</tr>

<!---------------------------------------------------------->
<?php
if(isset($_SESSION['carrito'])){
for ($i=0;$i<=count($carro_rimag)-1;$i++) {
?>
<!---------------------------------------------------------->










<!---------------------------------------------------------->
<tr class="agregar">
<td align="center" class="texto_chico"><?php print $carro_rimag[$i]['nombre']; ?></td>
<td align="center"><?php print $carro_rimag[$i]['precio']; ?></td>
<td align="center"><?php print $carro_rimag[$i]['cantidad']; ?></td>
<td align="right"><?php print $carro_rimag[$i]['precio'] * $carro_rimag[$i]['cantidad']; ?></td>
<td align="center"><form id="form1" name="form1" method="post" action="">
<input name="imageField" type="image" id="imageField" src="images/delete.png" align="middle" />
</form></td>
</tr>
<?php
}
}

?>

<!---------------------------------------------------------->
<tr>
<td class="agregar">&nbsp;</td>
<td class="agregar">&nbsp;</td>
<td align="right" class="producto"><span class="total">TOTAL:</span></td>
<td align="right" class="agregar"></td>
<td align="right" class="agregar"></td>
</tr>
</table></td>
</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<th scope="col"><img src="images/foot.jpg" width="1114" height="100" /></th>
</tr>
</table>
<p>&nbsp;</p>
<p>&nbsp; </p>
<script type="text/javascript">
swfobject.registerObject("FlashID");
</script>
</body>
</html>

Última edición por eliasdel87; 26/12/2011 a las 19:28
  #2 (permalink)  
Antiguo 26/12/2011, 20:11
 
Fecha de Ingreso: noviembre-2011
Mensajes: 14
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: Problemas al multiplicar

Agradecería mucho su ayuda, estoy muy aflijido D:
  #3 (permalink)  
Antiguo 26/12/2011, 20:50
Avatar de Yacobh  
Fecha de Ingreso: diciembre-2011
Ubicación: con los pies en la tierra
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 7
Respuesta: Problemas al multiplicar

PAna.. no entiendo nada de lo que escribiste... es mucho texto y no puedo ni siquiera encontrar donde esta el problema... si pudieras depurarlo, y decir de alguna forma donde esta lo que preguntas quiza me arriesgo a ayudarte

Exitos
  #4 (permalink)  
Antiguo 26/12/2011, 21:16
 
Fecha de Ingreso: noviembre-2011
Mensajes: 14
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: Problemas al multiplicar

Amigo Yacobh, primero que nada, gracias por responder el tema :) .

el problema radica aca:

<?php
if(isset($_SESSION['carrito'])){

for($i=0;$i<=count($carro_rimag)-1;$i ++){
?>

<tr class="agregar">
<td align="center" class="texto_chico"><?php print $carro_rimag[$i]['nombre']; ?></td>
<td align="center"><?php print $carro_rimag[$i]['precio']; ?></td>
<td align="center"><?php print $carro_rimag[$i]['cantidad']; ?></td>
<td align="right"><?php print $carro_rimag[$i]['precio'] * $carro_rimag[$i]['cantidad']; ?></td>
<td align="center"><form id="form1" name="form1" method="post" action="">
<input name="imageField" type="image" id="imageField" src="images/delete.png" align="middle" />
</form></td>
</tr>
<?php
}
}
?>

cuando intento multiplicar la variable cantidad*precio no me da resultado total.
y a su vez el subtotal. me da solo un 0.

y lo otro es que me da como undefined index cantidad ..
eso ;) vale
  #5 (permalink)  
Antiguo 26/12/2011, 21:21
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problemas al multiplicar

por favor le puedes hacer un print_r al array $carro_rimag

coloca esto antes del bucle for y coloca una parte del resultado:

Código PHP:
Ver original
  1. echo '<pre>';
  2. print_r($carro_rimag);
  3. echo '</pre>';

porque según lo que dices el índice cantidad no existe y por eso te da cero.

Código PHP:
Ver original
  1. $carro_rimag[] = array("nombre" => $nombre, "precio" => $precio, "cantid ad" => $cantidad);

Es cantidad o cantid ad, el espacio es error del foro o tuyo?

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #6 (permalink)  
Antiguo 26/12/2011, 21:29
 
Fecha de Ingreso: noviembre-2011
Mensajes: 14
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: Problemas al multiplicar

Gracias andresdzphp , El problema del espacio de cantid ad es problema del foro..

me salta una duda ese blue print en que parte deberia ubicarlo. disculpa mi ignorancia pero estoy recien metiendome a esto, eh leido manuales php, pero esto me supera, porfa master ;)
  #7 (permalink)  
Antiguo 26/12/2011, 21:30
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problemas al multiplicar

colocalo despues de esto:

Código PHP:
Ver original
  1. <?php
  2. if(isset($_SESSION['carrito'])){

para ver el contenido del array.

una pregunta son varios archivos php o uno solo? revisa que en todos tengas session_start() al inicio.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 26/12/2011 a las 21:36
  #8 (permalink)  
Antiguo 26/12/2011, 21:38
 
Fecha de Ingreso: noviembre-2011
Mensajes: 14
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: Problemas al multiplicar



Andres, aplique el print en la ubicacion que me diste, y me salen los array en la parte de arriba del codigo, y aun me arroja 0 . no entiendo que hize mal :/
  #9 (permalink)  
Antiguo 26/12/2011, 21:42
 
Fecha de Ingreso: noviembre-2011
Mensajes: 14
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: Problemas al multiplicar

son categorias de productos, (industrial.php ; colegio.php ; outdoor.php ; corporativo.php ; promocionales.php ). por ahora para mientras estoy solo jugando con colegio.php..

pero el que me esta dando problemas es carrito-nuevo.php
  #10 (permalink)  
Antiguo 26/12/2011, 21:46
Avatar de Yacobh  
Fecha de Ingreso: diciembre-2011
Ubicación: con los pies en la tierra
Mensajes: 32
Antigüedad: 12 años, 4 meses
Puntos: 7
Respuesta: Problemas al multiplicar

Veo que el precio dice $5000, que clase de variable es? char?
  #11 (permalink)  
Antiguo 26/12/2011, 21:48
 
Fecha de Ingreso: noviembre-2011
Mensajes: 14
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: Problemas al multiplicar

es precio chileno (CLP) y la variable de la bd es varchar (50) a eso te referias?
  #12 (permalink)  
Antiguo 26/12/2011, 21:53
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problemas al multiplicar

Si ahí está tu problema, si multiplicas $5.000 * 1 da cero... Tienes que multiplicarlo 5000 * 1 y luego darle el formato que quieras con la correspondiente función de PHP.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #13 (permalink)  
Antiguo 26/12/2011, 21:56
 
Fecha de Ingreso: noviembre-2011
Mensajes: 14
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: Problemas al multiplicar

se soluciono :)!! ,pero el print que agrege arriba me esta mostrando arrays en la parte de arriba.. los que salen en la imanen
  #14 (permalink)  
Antiguo 26/12/2011, 21:59
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Problemas al multiplicar

Cita:
Iniciado por eliasdel87 Ver Mensaje
se soluciono :)!! ,pero el print que agrege arriba me esta mostrando arrays en la parte de arriba.. los que salen en la imanen
Eso se usa para verificar que todo esté correcto, es buena práctica para revisar arrays. Ya lo puedes quitar, me alegro que lo hayas solucionado.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #15 (permalink)  
Antiguo 26/12/2011, 22:03
 
Fecha de Ingreso: noviembre-2011
Mensajes: 14
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: Problemas al multiplicar

Muchas gracias andresdzphp & Yacobh fueron de gran ayuda. =) se agradece mucho! :D
  #16 (permalink)  
Antiguo 26/12/2011, 22:13
 
Fecha de Ingreso: noviembre-2011
Mensajes: 14
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: Problemas al multiplicar

lo ultimo antes de irme a proseguir con mi mision, ahora que me sale el precio y el total y todo bien, me arroja que Undefined index cantidad ..

<?php
if(isset($_SESSION['carrito'])){
$total=0;
$cantidad=1;

for($i=0;$i<=count($carro_rimag)-1;$i ++){

?>

<tr class="agregar">
<td align="center" class="texto_chico"><?php print $carro_rimag[$i]['nombre']; ?></td>
<td align="center"><?php print $carro_rimag[$i]['precio']; ?></td>
<td align="center"><?php print $carro_rimag[$i]['cantidad']; ?></td>
<td align="right"><?php print $carro_rimag[$i]['precio'] * $carro_rimag[$i]['cantidad']; ?></td>
<td align="center"><form id="form1" name="form1" method="post" action="">
<input name="imageField" type="image" id="imageField" src="images/delete.png" align="middle" />
</form></td>
</tr>
<?php

-------------------------------------------------------------------------------------------------------------
$total=$total + ($carro_rimag[$i]['precio'] * $carro_rimag[$i]['cantidad']);
-------------------------------------------------------------------------------------------------------------

}
}
?>

ahi les marque con u guiones la linea html que me da error..
porfa,
  #17 (permalink)  
Antiguo 26/12/2011, 23:59
 
Fecha de Ingreso: noviembre-2011
Mensajes: 14
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: Problemas al multiplicar

Problema solucionado, el codigo me arrojaba esos errores, porque tenia memorizado ese error por la _SESSION entonces nunca desaparecian,, hasta que agrege el icono eliminar y shann.. se fue todo el dolor de cabeza. muchas gracias chicos, su ayuda fue vital ;)

Etiquetas: Ninguno
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:55.