carrito de compras

9

Click here to load reader

Upload: richard-garcia

Post on 05-Jul-2015

130 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: carrito de compras

<? /* shoppingcart.php * * */

if(!$session && !$scid) { $session = md5(uniqid(rand())); SetCookie("scid", "$session", time() + 14400); } /* last number is expiration time in seconds, 14400 sec = 4 hrs */

class Cart { function check_item($table, $session, $product) { $query = "SELECT * FROM $table WHERE session='$session' AND product='$product' "; $result = mysql_query($query);

if(!$result) { return 0; }

$numRows = mysql_num_rows($result);

if($numRows == 0) { return 0; } else { $row = mysql_fetch_object($result); return $row->quantity; } }

function add_item($table, $session, $product, $quantity) { $qty = $this->check_item($table, $session, $product); if($qty == 0) { $query = "INSERT INTO $table (session, product, quantity) VALUES "; $query .= "('$session', '$product', '$quantity') "; mysql_query($query); } else { $quantity += $qty; $query = "UPDATE $table SET quantity='$quantity' WHERE session='$session' AND "; $query .= "product='$product' "; mysql_query($query); } }

Page 2: carrito de compras

function delete_item($table, $session, $product) { $query = "DELETE FROM $table WHERE session='$session' AND product='$product' "; mysql_query($query); }

function modify_quantity($table, $session, $product, $quantity) { $query = "UPDATE $table SET quantity='$quantity' WHERE session='$session' "; $query .= "AND product='$product' "; mysql_query($query); }

function clear_cart($table, $session) { $query = "DELETE FROM $table WHERE session='$session' "; mysql_query($query); }

function cart_total($table, $session) { $query = "SELECT * FROM $table WHERE session='$session' "; $result = mysql_query($query); if(mysql_num_rows($result) > 0) { while($row = mysql_fetch_object($result)) { $query = "SELECT price FROM inventory WHERE product='$row->product' "; $invResult = mysql_query($query); $row_price = mysql_fetch_object($invResult); $total += ($row_price->price * $row->quantity); } } return $total; }

function display_contents($table, $session) { $count = 0; $query = "SELECT * FROM $table WHERE session='$session' ORDER BY id "; $result = mysql_query($query); while($row = mysql_fetch_object($result)) { $query = "SELECT * FROM inventory WHERE product='$row->product' "; $result_inv = mysql_query($query); $row_inventory = mysql_fetch_object($result_inv); $contents["product"][$count] = $row_inventory->product; $contents["price"][$count] = $row_inventory->price;

Page 3: carrito de compras

$contents["quantity"][$count] = $row->quantity; $contents["total"][$count] = ($row_inventory->price * $row->quantity); $contents["description"][$count] = $row_inventory->description; $count++; } $total = $this->cart_total($table, $session); $contents["final"] = $total; return $contents; }

function num_items($table, $session) { $query = "SELECT * FROM $table WHERE session='$session' "; $result = mysql_query($query); $num_rows = mysql_num_rows($result); return $num_rows; }

function quant_items($table, $session) { $quant = 0; $query = "SELECT * FROM $table WHERE session='$session' "; $result = mysql_query($query); while($row = mysql_fetch_object($result)) { $quant += $row->quantity; } return $quant; } } ?>

/* This part contains a description of how to create the tables on your mysql server.

# MySQL dump 6.0 # # Host: localhost Database: kmartShopper #-------------------------------------------------------- # Server version 3.22.25

# # Table structure for table 'inventory' # CREATE TABLE inventory ( product tinytext NOT NULL, quantity tinytext NOT NULL,

Page 4: carrito de compras

id int(4) DEFAULT '0' NOT NULL auto_increment, description tinytext NOT NULL, price float(10,2) DEFAULT '0.00' NOT NULL, category char(1) DEFAULT '' NOT NULL, KEY id (id), PRIMARY KEY (id), KEY price (price) );

# # Table structure for table 'shopping' # CREATE TABLE shopping ( session tinytext NOT NULL, product tinytext NOT NULL, quantity tinytext NOT NULL, card tinytext NOT NULL, id int(4) DEFAULT '0' NOT NULL auto_increment, KEY id (id), PRIMARY KEY (id) ); */

Ejemplo

<? include("shoppingcart.php"); $cart = new Cart; $mysql_link = mysql_connect("localhost", "wwwrun", ""); $mysql_select_db("kmartShopper", $mysql_link) /* heh, use whatever database name you put the 2 tables under in place of kmartShopper */ ?> /* call functions like $cart->add_item and such, see the code. */

Ayuda con carrito de compras en php « en: 18 Mayo 2010, 22:27 »

hola amigos, puede que parezca noob el tema pero la verdad es que soy uno xD la cosa es que estoy tratando de hacer un carrito de compras con php y encontre muchos ejemplos buscando en google.. el problema que ninguno me dice o me da la pauta para poder enviar los datos que estan en el carrito de

compra a mi correo que es lo que ando buscando    encontre uno en particular que me gusto por sencillo, a continuacion se los pongo

 index.phpCódigo:<?include("lib_carrito.php");?>

<html>

Page 5: carrito de compras

<head>        <title>Trabajando con el carrito</title></head>

<body>

<a href="mete_producto.php?id=12&nombre=silla+modelo+jupiter&precio=80">Silla modelo jupiter 80 euros</a><br><br><a href="mete_producto.php?id=16&nombre=mesa+camilla+oferta&precio=29">Mesa camilla en oferta 29 euros</a><br><br><a href="mete_producto.php?id=18&nombre=Silla+oficina&precio=102">Silla oficina 102 euros</a><br><br><a href="mete_producto.php?id=98&nombre=Aparador+cocina+blanco&precio=200">Aparador cocina blanco 200 euros</a><br><br><br>- <a href="ver_carrito.php">Ver carrito</a></body></html>

lib_carrito.phpCódigo:<?class carrito {        //atributos de la clase           var $num_productos;           var $array_id_prod;           var $array_nombre_prod;           var $array_precio_prod;

        //constructor. Realiza las tareas de inicializar los objetos cuando se instancian        //inicializa el numero de productos a 0        function carrito () {                   $this->num_productos=0;        }

        //Introduce un producto en el carrito. Recibe los datos del producto        //Se encarga de introducir los datos en los arrays del objeto carrito        //luego aumenta en 1 el numero de productos        function introduce_producto($id_prod,$nombre_prod,$precio_prod){                $this->array_id_prod[$this->num_productos]=$id_prod;                $this->array_nombre_prod[$this->num_productos]=$nombre_prod;                $this->array_precio_prod[$this->num_productos]=$precio_prod;                $this->num_productos++;        }

        //Muestra el contenido del carrito de la compra        //ademas pone los enlaces para eliminar un producto del carrito        function imprime_carrito(){                $suma = 0;                echo '<table border=1 cellpadding="3">                          <tr>                                <td><b>Nombre producto</b></td>                                <td><b>Precio</b></td>                                <td>&nbsp;</td>                          </tr>';                for ($i=0;$i<$this->num_productos;$i++){                        if($this->array_id_prod[$i]!=0){                                echo '<tr>';                                echo "<td>" . $this->array_nombre_prod[$i] . "</td>";                                echo "<td>" . $this->array_precio_prod[$i] . "</td>";                                echo "<td><a href='eliminar_producto.php?linea=$i'>Eliminar producto</td>";                                echo '</tr>';                                $suma += $this->array_precio_prod[$i];                        }                }                //muestro el total                echo "<tr><td><b>TOTAL:</b></td><td> <b>$suma</b></td><td>&nbsp;</td></tr>";                //total más IVA                echo "<tr><td><b>IVA (16%):</b></td><td> <b>" . $suma * 1.16 . "</b></td><td>&nbsp;</td></tr>";                echo "</table>";        }

        //elimina un producto del carrito. recibe la linea del carrito que debe eliminar        //no lo elimina realmente, simplemente pone a cero el id, para saber que esta en estado retirado        function elimina_producto($linea){                $this->array_id_prod[$linea]=0;        }}//inicio la sesiónsession_start();//si no esta creado el objeto carrito en la sesion, lo creoif (!isset($_SESSION["ocarrito"])){        $_SESSION["ocarrito"] = new carrito();}?>

http://foro.elhacker.net/php/ayuda_con_carrito_de_compras_en_php-t294014.0.html#ixzz1PCcWGtMC

Page 6: carrito de compras

domingo, marzo 06, 2011

PHP - CARRITO DE COMPRAS PARTE I - CREACIÓN DE LA BASE DE DATOS 4:15 PM  HENRY WONG  4 COMENTARIOS

"Si usa algún código del siguiente tutorial, den el icono de ME GUSTA del Facebook que se encuentra en su mano derecha, para que se

vuelva Seguidor del Blog y también comentenos que tal les pareció el tutorial"

1. Entorno

NetBeans IDE 6.9.1

WampServer 2.1.

2. Introducción

En el siguiente tutorial vamos a desarrollar un carrito de compras o lo que seria un sistema de ventas usando el lenguaje de programación PHP, como

base de datos vamos a usar el MySQL 5.1. y tambien crearemos un reporte en formato excel de las ventas. La base de datos que vamos a crear es una

base de datos con fines didácticos, dado que nos faltaría crear mas tablas, como la tabla cliente, categoría, unidad de medida, etc pero si nos

explayamos mucho nos quedaría muy largo el tutorial. Ademas en el ejemplo no se explica como disminuir un stock, debido a que eso siempre se les

pide a los alumnos universitario que investiguen como hacerlo, pero si quieren una ayudita lo pueden hacer creando Triggers en la base de datos. La

aplicación se desarrollara en un formato web usando el modelo de Programación en Capas.

Para poder ejecutar el MySQL debemos de tener instalador el WampServer 2.1. en nuestra computadora.

3. Desarrollo

La base de datos tendría las siguientes tablas. Venta, Producto y DetalleVenta

Page 7: carrito de compras

A continuación les paso el script de creación de la base de datos

-- CREADO POR: HENRY JOE WONG URQUIZA-- FECHA: 24FEB2011-- -------------------------------------------------------- TUTORIAL DE COMO HACER UN CARRITO DE COMPRAS USANDO-- EL MODELO VISTA CONTROLADOR---- Creando la base de datos--

CREATE DATABASE IF NOT EXISTS bdtutorial;USE bdtutorial;

---- Creando la tabla `detalleventa`--

DROP TABLE IF EXISTS `detalleventa`;CREATE TABLE `detalleventa` ( `codigoVenta` int(11) NOT NULL, `codigoProducto` int(11) NOT NULL, `cantidad` decimal(18,2) NOT NULL, `descuento` decimal(18,2) NOT NULL, PRIMARY KEY (`codigoVenta`,`codigoProducto`), KEY `FK_DetalleVenta_Producto` (`codigoProducto`), CONSTRAINT `FK_DetalleVenta_Producto` FOREIGN KEY (`codigoProducto`) REFERENCES `producto` (`codigoProducto`), CONSTRAINT `FK_DetalleVenta_Venta` FOREIGN KEY (`codigoVenta`) REFERENCES `venta` (`codigoVenta`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;

---- Creando la tabla `producto`--

DROP TABLE IF EXISTS `producto`;CREATE TABLE `producto` ( `codigoProducto` int(11) NOT NULL, `nombre` varchar(100) NOT NULL, `precio` decimal(18,2) NOT NULL, PRIMARY KEY (`codigoProducto`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;

---- Creando la tabla venta--

DROP TABLE IF EXISTS `venta`;CREATE TABLE `venta` ( `codigoVenta` int(11) NOT NULL, `cliente` varchar(100) NOT NULL,

Page 8: carrito de compras

`fecha` datetime NOT NULL, PRIMARY KEY (`codigoVenta`)) ENGINE=InnoDB DEFAULT CHARSET=latin1;