X
    Categories: Desarrollo web

como hacer un carrito de compras en php

hace ya varios años atras cuando inicie programando siempre sabia que me toparia tarde o temprano  con algun desarrollo de un ecommerce y el temor de que no tenia de idea de como comenzar un proyecto asi pero bueno ya pase ese momento en estar buscando ayuda y referencias para mis desarrollo y ya a estas alturas no lo veo nada complejo pero seguro si llegaste a este articulo por que estas en el punto donde en algun momento lo estuve y ahora podre ayudar con este articulo que te va a dar una idea clar de como hacer un carrito de compras en php (aun que la misma idea se puede aplicar en otros lenguajes).

Al menos debes ya saber  php a nivel basico para poder continuar con esto pero igual estas invitado a continuar que en la marcha se suele aprender.

como dice el titulo aqui se expondra la forma de hacer una carrito de compras y me refiero el sistema detras que tiene el carrito de compras pero debes tener en cuenta que un ecommerce o tienda virtual es mas que la funcionalidad  de carrito de compras por ejemplo tenemos:

  1. registro de usuario
  2. login
  3. olvide mi contraseña
  4. entorno de usuario
  5. lista de pedidos
  6. delivery
  7. metodo de pago

entre otras funcionalidades que tiene pero yo me estoy enfocando en el articulo en  la funcionalidad  que es de agregar , editar y eliminar un listado de productos que posteriormente pasara a ser pagado y una pantalla vale mas que mil palabras.

 

Creo que ya me entiendes de que va este articulo entonces a programar y  para esto tengo en las lineas de codigo esta bien comentado para que no te pierdas. Todo el proceso comienza cuando un usuario le va a dar click en un boton agregar cierto?

Ya lo reconociste? entonces este boton sera el inicio de todo el proceso y al clickear por post o get debe llevar una variable para saber que producto estamos añadiendo al carrito de compras y pensamos  asumamos que es get.

<a href="agregar.php?producto_id=23">Añadir</a>

ok estamos enviado por get una variable producto_id con un valor con esto deberias hacer una consulta a la tabla de producto y sacar sus caracteristicas.

//capturamos la variable
$producto_id=$_GET["producto_id"];
//hacemos consulta para sacar data del producto
$producto=mysql_fetch_array(mysql_query("select * from productos where id='$producto_id'"));
//ahora lo vamos a meter en una session y para identificar bien el producto le vamos a 
//poner como key el id del producto que esto nos servira para luego poder identificar y poder eliminar rapidamente
$key=$producto["id"];
// y en la session con el jey del producto ingresamos un array con el contenido con las caracteristicas del producto
$_SESSION["carrito"][$key]=array(
"nombre_producto"=>$producto["nombre_producto"],
"precio"=>$producto["precio"],
"cantidad"=>1,
"descripcion"=>$producto["descripcion"]
);

con este script puedes acumular productos en una session asi tienes todo un listado de compras y para luego mostralo en listado para que el cliente visualize un resumen de su compra simplemente hacemos un recorrido de la session.

//recorremos la session
foreach ($_SESSION["carrito"] as $key=&gt;$producto)
{
//aqui mostramos el producto pero al final de esta linea colocamos un link para poder eliminar y veran que paso la variable key 
//que como les comente eso me iba a servir para eliminar luego facilmente el registro de la session.
echo $producto["nombre_producto"]."|".$producto["cantidad"]."|".$producto["precio"]."(<a href=eliminar.php?key=".$key.">Eliminar</a>)"."
";
}

ahora solo faltaria poder eliminar el el registro

$key=$_GET["key"];
unset($_SESSION["carrito"][$key]);

y ven que facil es la logica de armar un carrito de compras bueno de hecho tengo que decir que hay otros detalles que tiene un carrito de compra como editar o el tema de cantidad pero ya con esta base que lo explique en unas pocas lineas ya tiene el 80% para poder comenzar sin temor su carrito de compras! que lo pueden hacer desde un framework mvc tranquilamente ya que mi intension reitero es solo que tengan claro como funciona esto internamente y creo haber logrado mi objetivo.

si necesitas una ayudas aun o necesitas un curso sobre programacion de una tienda virtual puedes comunicarte conmigo que gustosamente te ayudare.

Luis Rodriguez: Hola, Soy Luis Rodriguez, radico en Lima – Perú, formado en una carrera informática, desempeñando desde el 2007 como programador web y viendo proyectos desde Front End y Back End a lo que me perfile como Full Stack. Esta Experiencia junto a mi interés en la Analítica Web me ayudó mucho entender el funcionamiento interno de las herramientas de analítica, con las que vengo trabajo activamente desde 2017. Linkedin