Carrito de la compra en PHP

Explicación detallada sobre cómo crear un carrito de la compra sencillo con PHP. Se realiza la implementación de una clase para modelar el carrito y luego se muestra cómo utilizarla.

Listado de los capítulos

1.- Carrito de la compra en PHP

Planteamientos iniciales para la realización de un carrito de la compra sencillo en PHP. Almacenamiento del carrito en una variable de sesión.

2.- Estudio de las necesidades del carrito

Planteamientos a seguir para la creación de la clase carrito de la compra. Estudio de las funcionalidades que debería tener y los datos a guardar.

3.- Implementación de la clase carrito en PHP

Implementación de la clase del carrito de la compra en PHP, con las propiedades y métodos.

4.- Mostrar el carrito PHP

Función para mostrar los productos almacenados en el carrito de la compra, en PHP.

5.- Utilización de la clase carrito en PHP

Ejemplos sencillos de utilización de las librerías del carrito de la compra.

Descargas

 Si eres usuario de DesarrolloWeb:
Archivo de descarga Carrito de la compra en PHP Texto completo en PDF, listo para imprimir, del manual de DesarrolloWeb.com Carrito de la compra en PHP.
Tamaño: 82651
Fecha creación: 23/03/2011

Bibliografía recomendada

PHP 5

Compra este libro en Agapea, la librería urgente a domicilio.

Compartir

Comentarios

Boby

07/4/2009
Está bien como práctica
Este manual viene muy bien para aprender el manejo de sesiones, una práctica excelente para ello. Ahora bien, aunque sirve para conocer una posible implementación de un carrito de la compra, la verdad que el que se ve es un poco rudimentario.

mauro_alturria

23/5/2009
Manual PHP5
Excelente publicación ejemplos prácticos, recomendado

alvin_gonzalez

21/6/2009
Opinión del artículo
Excelente manuel, lo recomiendo 100%, a empezar a innovar al mundo!

danielgarcia

28/6/2009
no me funciona
hola, estoy probando el manual pero inicialmente no me funciona con los archivos que viene el adjunto, temo que es porque tengo PHP5 en este caso que puntos debo cambiar en el codigo, estuve averiguando para ver cambios en la transicion de PHP4 a PHP5 he hice cambios en el llamado del constructor y la declaracion de las variables en: lib_carrito.php pero sigue sin funcionarme, quien em podria colaborar, muchas garcias mi correo es danielgarcia@fireworldcolombia.com

dany_lum

13/1/2010
Problema al eliminar
Muy bueno! pero hay un problema que al eliminar a veces te elimina dos productos a la vez. Por ejemplo si "compran" una silla modelo jupiter y una mesa camilla y al ver el carrito eliminan la silla elimina tambien la mesa... he revisado mucho el codigo pero no se porque sera... si lo saben porque puede ser comentenlo. Gracias!

alo

05/3/2010
Referencia incompleta
Todo muy lindo, pero yo andaba buscando una referencia acerca de cómo hacer que mi carrito se conecte por ejemplo con una tarjeta de crédito y le cargue la compra al usuario. Es decir, cómo hacer que FUNCIONE realmente. Hasta acá esto no es un carrito de compras, sino que solo es un ejemplo de cómo manipular un objeto en una variable de sesión.

¿Alguien puede aportar algo acerca de lo que yo buscaba?

usuario_borrado_686888

15/4/2010
urgente
alguien me podria pasr un carrito de compra mas su base de datos que necesita, es urgentemente para un proyecto un saludo

agus210

24/4/2010
ayuda
ola alguien me puede ayudar..
no consigo hacerlo funcionar ya hice los cambios del contructor he inicio la secion antes de la clase pero me aparece imprime_carrito(); ?> unicamente

agus210

24/4/2010
resuelto
hola nuevamente ya lo pude hacer funcionar, solo era un error de dedo y ademas agregue <?php en ves de solo <?

kurtjavier_kurtjavier

15/5/2010
Opinion
El manual esta MUY bueno en realidad, me gusto mucho como explican todo. Estoy revisando a ver que mas manuales me pueden servir para ir aprendiendo poco a poco php, saludos y gracias

raizen707

06/8/2010
No inicia sesion
Hola priomero que todo gracias por el exelente manual solo tengo un problema al igual que algunos cuando quiero ver el carrito solo me sale imprime_carrito(); ?> , ya agregue el inicio de sesion y la libreria en cada archivo ".php" pero no funciona alguien que me pueda ayudar respecto a eso.

26/10/2010
gracias
hola. buenas buenas a todos..pues lo que pude leer del manual esta interesante...solo falta adaptar a lo que stoy haciendo,, haber que tal......pero se que todo lo que se publica con buena intension ayuda a muxossss. gracias

djbloody

26/11/2010
gracias
gracias..
me ubiese gustado que se pudiera descargar el php listo.

DmonHer

10/12/2010
MI carrito de compra
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Carrito de compras con Checkbox</title>
</head>

<body>

<?php


global $conexion;

function conectar(){

global $conexion;

// define tu servidor
$conexion=mysql_connect("*******") or die("********");

mysql_select_db("********");
}

function desconectar(){
global $conexion;

mysql_close($conexion);
}

function realizarquerry($sql){
global $conexion;

conectar();

$rs=mysql_query($sql, $conexion);
desconectar();

return $rs;
}



//Selecciona tu base de datos
$sql="select * from *******";
$rs=realizarquerry($sql);
$camposTabla=array();
$contador=1;

while($datos1=mysql_fetch_field($rs)){
$camposTabla[$contador]=$datos1 -> name;
$contador++;
}

echo "<form name='formulario' method='post' action='ejemplo.php'>";
echo "<table>";
echo "<tr>";

for ($i=2; $i<=count($camposTabla); $i++){
if($i==6){
echo "<td align='center' valign='middle'>".$camposTabla[$i]."</td>";
}else if($i==5){
echo "<td align='center' valign='middle'>".$camposTabla[$i]."</td>";
}else{
echo "<td align='center' valign='middle'>".$camposTabla[$i]."</td>";
}
}

echo "<td align='center' valign='middle'>Agregar al carrito</td>";
echo "</tr>";

//contenido de la tabla

$contador=2;
while($datos=mysql_fetch_array($rs)){
echo "<tr>";
for($i=2; $i<=count($camposTabla); $i++){
if($datos[$camposTabla[$i]]==NULL || $datos[$camposTabla[$i]]==""){
echo "<td>&nbsp;</td>";
}else if ($camposTabla[$i]=="foto"){
//Directorio para imagenes
echo "<td align='center' valign='middle'><img src='***src de las imagenes***".$datos[$camposTabla[$i]]."'></td>";
}else{
echo "<td align='center' valign='middle'>".$datos[$camposTabla[$i]]."</td>";
}
}

echo "<td align='center'><input name='pedido[]' type='checkbox' value='".$datos[$camposTabla[1]]."'></td>";
echo "</tr>";
}
echo "<tr><td colspan='6' align='right'>";
echo "<input type='hidden' name='carrito' value='si'>";
echo "<input type='submit' value='Agregar al carrito'>";
echo "</td></tr>";
echo "</table>";
echo "</form>"
?>
<?php
if (isset($_POST["carrito"])){
$pedido=$_POST["pedido"];

if (count($pedido)>1){
echo "Se han pedido ".count($pedido)." Objetos";
}else{
echo "Se ha pedido ".count($pedido)." Objetos";
}
echo "<br>";
$objetosSeleccionados=array();
$i=0;
foreach ($pedido as $valor){
$objetosSeleccionados[$i]=$valor;
$i++;
}
if (count($objetosSeleccionadoss)>1){
echo "los objetos seleccionadas son: <br>";
}else{
echo "el objeto seleccionada es: <br>";
}

for ($j=0; $j<count($objetosSeleccionados); $j++){
$sql="select nombre from ***basededatos*** where ejemplo=".$objetosSeleccionados[$j];
$rs=realizarquerry($sql);
echo mysql_result($rs,0,0);
}
}

?>
</body>
</html>

Alekzantro

23/12/2010
Hola! Tengo un problema con mi carrito :S
Hola Tengo un problema hace unos dias me compre una plantilla de un shoping cart. Descargue un software llamado Winamp para poder previsualizar mi sitio. El detalle es que nunca he utilizado ninguno y no se como ver mi sitio en php. Segun yo es colocar toda la carpeta del sitio en una llamada www directory dentro del winamp pero de todos modos el sitio no se ve, no se si se necesite configurar algo, o hacer un html. Me gustaria si me pudieran ayudar a manejar lo que son servidores independientes, xq no se como ver los sitios creados en php.

Carlos

07/2/2011
No funciona el carrito
Hola, estoy intentando hacer el carrito que viene en el manual pero no funciona para nada, cuando imprimo el carrto me sale : imprime_carrito(); ?>

O cuando meto un producto me sale esto otro:
introduce_producto($_GET["id"], $_GET["nombre"], $_GET["precio"]); ?> Producto introducido

Por qué?. Necesito ayuda

miguel

08/2/2011
ayuda!! urgente!!
perfecto el carrito me inserta elimina y todo eso perfectamente. pero ahora kiero incluir botones de mas y menos para aumentar y disminuir la cantidad que la mostrare en una caja de texto. como puedo hacer eso necesito ayuda es urgente. gracias a todos

kathy_299

05/7/2011
Como puedo ver funcionando el carrito
Hola, quisiera preguntar como puedo ver funcionando el carro de compra, tengo que tener algo mas instalado en mi computador. Disculpen la ignorancia pero soy nueva aprendiendo este lenguaje.. Ejecute los codigos que subieron a la pagina y los abri con internet explorer pero unico que consigo ver el es codigo en el explorador y no el carrito como todos ustedes dicen que ven... Desde ya les agradeceria su ayuda... =)

ernestosoto

22/8/2011
Para Carlos y su problema...
Hola Carlos!
El problema que te muestre los códigos PHP (en lugar de procesarlos) debe ser porque se esté abriendo el código PHP con el tag corto

<?

En vez de eso debe ponerse el tag de apertura largo, que funciona siempre en todos los servidores, independientemente de la configuración.

<?php

Inko

26/8/2011
Más sencillo y con todo incluido ...
El sistema L2C de www.tiendavirtualphp.com propone una solución para convertir cualquier sitio Web o blog existente en una página Web para vender online sin modificar, repensar y replantear su página Web actual.
L2C le permite agregar un carro de compra, tiene varias formas de pago y lleva la gestion total de los pedidos, de los envios, de los clientes etc etc, a traves de una interfaz de administración.
http://www.tiendavirtualphp.com

absaro

11/10/2011
AYUDA
HOLA, YO ESTUVE HACIENDO VARIAS PRUEBAS Y ME GENERABA ERRORES. NO SE SI ME PUEDAN AYUDAR. ME JOR QUISE HACER UN CARRITO DE COMPRA DIFERENTE, PERO MI PROBLEMA ES EL SIGUIENTE: TENGO 100 PRODUCTOS, HAGO UNA CONSULTA DESDE PHP, A CADA PRODUCTO LO PONGO COMO LINK PARA PODER COMPRARLO, PERO AL HACER LINK AL PRODUCTO QUIERO QUE ME MANDE A OTRA PAGINA Y QUE ME ENVIE ESE VALOR, COMO LO HAGO?

ragundis

17/11/2011
Como recomendación
Yo estuve intentando hacer un carrito de compras y segui este manual, finalmente quede frustrado por la cantidad de cosas que uno de preveer para que funcione correctamente como los sistemas anti-script injection y cosas asi, termine por usar un carrito de compras de:

http://www.empresa123.com

Que me ha funcionado de maravilla, se los recomiendo y no esta nada caro.

astridphp

12/10/2012
alago
Buenisimo, el tutorial

Fredter

03/7/2013
Consulta
Hola! buenísimo el carrito!
Alguien me puede ayudar para poder enviar el resultado del carrito a un email. No quiero usar un sistema de pago solo enviar los pedidos a un email. Gracias!

lio

13/8/2013
Problema con las sesiones
Hola a ver si algún alma caritativa me puede echar una mano. He implementado el código a un proyecto que ya tenía de una web pero se lleva mal con el código que tenia en el index para iniciar sesión, pero si elimino el session_start del código del carrito no me muestra nada y si elimino el del index de la pagina no me funciona el login de los usuarios y si dejo los dos tampoco me muestra nada el carrito.
Saludos.

jose manuel

08/12/2013
php
Pues creo que lo mejor para construirse su propio carrito es ponerse a estudiar la sintaxis de php, para aprender. todo lo que se puede hacer con php y no esperar que alguien resuelva todo, copia y pega no sirve de nada porque solo te genera mas dudas...

panchi89

05/1/2014
descarga no funciona
no puedo descargar el archivo? quizas no este activo. soluciones?

Ddez

28/2/2014
NO puedo Descargar el documento
ALguien me puede ayudar a descargar el documento, ya que no puedo o no me permite hacer la decarga..! Please

crisxanu

06/5/2014
Sesiones o Base de datos
Hola:
Soy nueva en el tema del carrito de compras y me gustaria saber porque usar sesiones y no directamente guardar la compra en la base de datos.
Gracias.

carlos

15/10/2014
bueno
bueno programadores