Foros del Web » Programando para Internet » PHP »

Cambiar cantidad a mi carrito de compras

Estas en el tema de Cambiar cantidad a mi carrito de compras en el foro de PHP en Foros del Web. Hola! Soy algo nueva en la programación de PHP y estoy intentando hacer una página de agregar productos a carrito de compras. Ya he logrado ...
  #1 (permalink)  
Antiguo 18/02/2015, 12:16
 
Fecha de Ingreso: febrero-2015
Mensajes: 2
Antigüedad: 9 años, 2 meses
Puntos: 0
Pregunta Cambiar cantidad a mi carrito de compras

Hola!
Soy algo nueva en la programación de PHP y estoy intentando hacer una página de agregar productos a carrito de compras. Ya he logrado buscar el producto y agregarlo a mi carrito pero no he podido lograr modificar la cantidad, cuando se agrega se agrega solamente 1.

Esta es mi tabla de resultados cuando busco los productos:



Esta es mi tabla de carrito de compras cuando le doy click al botón de agregar a carrito:



El archivo que llama al PHP de agregar al carrito es llamado agregar-producto-carrito.php que es el siguiente:

Código PHP:
Ver original
  1. <?php
  2.     session_start();
  3.     if(isset($_SESSION['User'])&&(isset($_GET['ProductoId']))) {
  4.         $_SESSION['Cart'][] = array(
  5.             'ProductoId' => (int) $_GET['ProductoId'],
  6.             'Cantidad' => 1
  7.         );
  8.                      
  9.     }
  10.     header('Location: http://localhost:8888/carrito-compras.php');

Mi pregunta es, en la tabla de resultados, ¿tengo que agregar una columna nueva llamada "Cantidad" con un opción de select o textfield? O en la tabla del carrito de compras agregar algo ahí.

Este es mi código php de la tabla de resultados:

Código PHP:
Ver original
  1. <?php  
  2.        
  3.        if (isset($_POST['TipoId'])) {
  4.        $id = $_POST['TipoId'];
  5.        } else {  
  6.        $id = "";
  7. }
  8.  
  9.   $query = "SELECT Descripcion, Precio, Marca, ProductoId FROM productos WHERE TipoId = '" .$id."'";
  10.   $result = mysql_query($query);
  11.   $numero = 0;
  12.  
  13.  
  14.   if (mysql_num_rows($result) && isset($_POST['TipoId']) ) {
  15.     ?>  
  16.        <div id="resultados"><p class="titulo5">Resultados</p>
  17.        
  18.        
  19.    
  20.     <table class="table" width="900" border="1">
  21.        <thead>
  22.             <tr>
  23.                 <th width="532" align="center" height="34">Producto/Capacidad</th>
  24.                 <th width="126">Marca</th>
  25.                 <th width="81">Precio</th>
  26.                 <th width="133">Link</th>
  27.                 <th width="126">Agregar a Mi Orden</th>
  28.             </tr>
  29.         </thead>
  30.          <tbody>
  31.     <?php  
  32.   while($row = mysql_fetch_array($result))
  33.   {
  34.     printf("<td width='38%%'><font face='verdana'>%s</font></td>", $row['Descripcion']);    
  35.     printf("<td width='10%%'><font face='verdana'>%s</font></td>", $row['Marca']);    
  36.     printf("<td width='7%%'><font face='verdana'>%s</font></td>", $row['Precio']);    
  37.     printf("<td width='10%%'><font face='verdana'><a href='/pdf/%s.pdf'>Descargar Datasheet</a></font></td>", $row['ProductoId']);
  38.     printf("<td width='10%%'><font face='verdana'><a href='agregar-producto-carrito.php?ProductoId=%s'>Agregar a la orden</a></font></td></tr>", $row['ProductoId']);
  39.         $numero++;
  40.   }
  41.     ?>
  42.         </tbody>
  43.     </table>

Y este es el código de la tabla de carrito de compras:

Código PHP:
Ver original
  1. <?php
  2.   print_r($_SESSION['Cart']);
  3.  
  4.  
  5.  
  6.     if (isset($_SESSION['Cart']) ) {
  7.     ?>  
  8.        <div id="resultados"><p class="titulo5">Carrito de Compra</p>
  9.        
  10.      
  11.        
  12.        <div id="myDiv">
  13.    
  14.     <table class="table" width="900" border="1">
  15.        <thead>
  16.             <tr>
  17.                 <th width="532" height="34">Producto</th>
  18.                 <th width="81">Marca</th>
  19.                 <th width="133">Cantidad</th>
  20.                 <th width="126">Precio</th>
  21.                 <th width="126">Modificar</th>
  22.             </tr>
  23.         </thead>
  24.          <tbody>
  25.     <?php
  26.     $preciototal=0;
  27.    foreach ($_SESSION['Cart'] as $item)
  28.   {
  29.       $query = "SELECT * FROM vista_productos WHERE ProductoId = '" .$item['ProductoId']."'";
  30.       $result = mysql_query($query);
  31.       $row = mysql_fetch_array($result);
  32.      
  33.     echo "<tr><td width=\"40%\"><font face=\"verdana\">".
  34.         $row['Descripcion']. "</font></td>";
  35.     echo "<td width=\"10%\"><font face=\"verdana\">" .
  36.         $row['Marca']. "</font></td>";
  37.     echo "<td width=\"5%\"><font face=\"verdana\">" .
  38.         $item['Cantidad']. "</font></td>";
  39.     echo "<td width=\"10%\"><font face=\"verdana\">".
  40.         $item['Cantidad']*$row['Precio']."</font></td>";
  41.     printf("<td width='10%%'><font face='verdana'><a href='eliminar-producto-carrito.php?ProductoId=%s'>Eliminar</a></font></td></tr>", $row['ProductoId']);
  42.         $numero++;
  43.         $preciototal+=$item['Cantidad']*$row['Precio'];
  44.   }
  45.     ?>
  46.         </tbody>
  47.     </table>
  48.    
  49.     <h2>    Precio Total: $<?php echo $preciototal;
  50.     ?>    </h2>

Espero me puedan ayudar ya que llevo ya tiempo intentando resolver esto y no he podido.

Muchas gracias!

Etiquetas: cantidad, carritodecompras, modificar, php+base+de+datos
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 21:24.