Foros del Web » Programando para Internet » PHP »

Carrito de la compra.ayuda con mi código xfa

Estas en el tema de Carrito de la compra.ayuda con mi código xfa en el foro de PHP en Foros del Web. Bueno,tengo este código: Código PHP: <?php  session_name ( 'cesta' ); session_start (); session_register ( 'itemsEnCesta' ); require( 'configuracion.php' ); $item = $_POST [ 'item' ]; ...
  #1 (permalink)  
Antiguo 10/10/2005, 01:35
Avatar de kokecola2k2  
Fecha de Ingreso: febrero-2004
Mensajes: 130
Antigüedad: 20 años, 1 mes
Puntos: 0
Carrito de la compra.ayuda con mi código xfa

Bueno,tengo este código:

Código PHP:
<?php 
session_name
('cesta');
session_start();
session_register('itemsEnCesta');
require(
'configuracion.php');
$item=$_POST['item'];
$cantidad=$_POST['cantidad'];
$itemsEnCesta=$_SESSION['itemsEnCesta'];

if (
$item){
   if (!isset(
$itemsEnCesta)){
      
$itemsEnCesta[$item]=$cantidad;
   }else{
      foreach(
$itemsEnCesta as $k => $v){
         if (
$item==$k){
         
$itemsEnCesta[$k]+=$cantidad;
         
$encontrado=1;
         }
      }
      if (!
$encontrado$itemsEnCesta[$item]=$cantidad;
   }
}
$_SESSION['itemsEnCesta']=$itemsEnCesta;

?>
<html>
<body>
<tt>
<form action="<?=$PHP_SELF."?se=".$cesta?>" method="post">
Dime el producto <input type="text" name="item" size="20"><br>
Cuantas unidades <input type="text" name="cantidad" size="20"><br>
<input type="submit" value="Añadir a la cesta"><br>
</form>
<?

if (isset($itemsEnCesta)){
   echo
'El contenido de la cesta de la compra es:<br>';
   foreach(
$itemsEnCesta as $k => $v){
      echo 
'Artículo: '.$k.' ud: '.$v.'<br>';
      
}

 }



?>
<a href="bd.php">Añadir a la base de datos</a>
</tt>


</body>
</html>
Seguro que entendeis el codigo, coge los valores de un formulario y los muestra, si ya existe uno igual le suma la cantidad yya está.

Pero lo que quiero es que cada artículo tenga un precio y me mueste el precio total, seria cantidad por el precio. Da igual como reciba el precio, por formulario o lo que sea.
Pero si pongo al mostrar los datos $precio*$v (v es la cantidad, lo que pones en el formulario) consigo que lo haga, pero si añado otro articulo diferente, me hace algo raro, me cogeria el precio y lo multiplicaria tambien en el articulo que antes metí (esto del precio no viene en el código, digo cuando lo modificara).
Así que funciona si solo metes un artículo, pero si metes otro diferente el anterior también te lo modifica cambiando el precio.
Como pdria hacer para que al introducir una cantidad en un articulo que ya introduje me salga el precio total sin que me modifique los demas artículos?
  #2 (permalink)  
Antiguo 10/10/2005, 20:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Te recomendaría olvidarte de ese código . .entre otras cosas por incompleto (no hace lo común de un carrito de compra) y además por qué estás mezclando un uso incorrecto de uso (valga la rebundancia) de acceso a sesiones (por un lado usas "session_register()" y por otro lado $_SESSION .. o usas un método o el otro pero no mezclado; recomendado el uso de los arrays superglobales $_SESSION etc..)

Usa el buscador del foro .. hay muchos temas que hablan sobre carrito de compras con adaptaciones/modificaciones a ese código que planteas. Si quieres algo ya hecho sobre el tema .. busca en sitios como www.phpclasses.org por el término "basket" veras más alternativas (y más completas).

Un saludo,
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 00:22.