Sie sind auf Seite 1von 16

Programacin Web

Bases de datos + PHP


CARRITO DE COMPRA EN PHP CON PAGO PAYPAL


Copyright 2013. Dr.c. Niels Henryk Aranda Cuevas. This document is ITSFCP Public Information
"#$% &%''()* +, &*-.'% ,/ 01. 2*/ 3*'-% +, .%4* 0%5.%6
&*/),/(+*
Paite 1: Intiouuccion
Paite 2: Qu nos hace falta.
Paite S: Biagiama ue Flujo
Paite 4: Base ue uatos ue un caiio ue compia
Paite S.1: Sciipts necesaiios paia un caiio ue compia en PBP y NySQL
Paite S.2: Sciipts necesaiios paia un caiio ue compia en PBP y NySQL
Paite 6: Aauii PayPal como mtouo ue pago a nuestio caiio ue compia

Programacin Web
Bases de datos + PHP
CARRITO DE COMPRA EN PHP CON PAGO PAYPAL


Copyright 2013. Dr.c. Niels Henryk Aranda Cuevas. This document is ITSFCP Public Information
78 79:;<=>&&7?9
Una de las tareas que todo desarrollador web tiene que afrontar en un determinado momento es la creacin de
una tienda virtual. Para este proyecto, es necesario tener conocimientos de programacin, bases de
datos y desarrollo web con Html, CSS.
Se pueue cieai una tienua viitual con uistintos lenguajes, en este caso hemos optauo poi PBP y NySQL, poi
tanto, necesitaiemos conocimientos bsicos en estas uos veitientes, si no es nuestio caso pueuen ayuuaise
con los tutoiiales: PBP_SQL.puf
778 ;@A>@;7B7@9:<C
1. AppServ
Servidor Web Local Apache
Php
Base de dat MySql
2. Cuenta Paypal
1. AppServ (Apache, Php, MySQL)
Podemos obtener cada una de las partes por separado, pero se recomienda AppServ, que es un pack que instala
en algunos clics y dentro de una misma ejecucin Apache, Php y MySql. Existen otras opciones para este tipo de
instalacin todo en uno como Wamp (Si tu Sistema Operativo es Windows) o Lamp (Si tu Sistema Operativo es
Linux) o Mamp (Si tu Sistema Operativo es Mac), aunque en este caso se ha utilizado AppServ 2.5.10 que contiene
las siguientes versiones:
Apache Web Server Versin 2.2.8
PHP Script Language Version 5.2.6
MySQL Database Version 5.0.51b
phpMyAdmin Database Manager Version 2.10.3
Apyate de la gua de instalacin del AppServ: AppServInstalacin.doc
3. Cuenta Paypal
Programacin Web
Bases de datos + PHP
CARRITO DE COMPRA EN PHP CON PAGO PAYPAL


Copyright 2013. Dr.c. Niels Henryk Aranda Cuevas. This document is ITSFCP Public Information

Ahora hay que crear una cuenta en PayPal. A continuacin se explica de qu se trata este sistema de pago.
Existen varias maneras de cobrar a clientes a travs de sitios web como pueden ser tarjeta de
crdito, transferencia bancaria o una forma que consolidada en Internet y que la mayora conoce, el PayPal.
Bien es cierto que no hace mucho tiempo el porcentaje de compras por Internet con tarjeta de crdito no era
abundante en Mxico, debido a la desconfianza generalizada, pero ante tal animadversin de no comprar por
Internet surgi un sistema de pago llamado PayPal que vino a solucionar estos problemas.
PayPal es un sistema fiable y bastante generalizado en sitios web e-commerce, con l los usuariosos pueden
comprar sus productos sin necesidad de informar sobre datos privados como el nmero de tarjeta de
crdito, PIN, fecha de caducidad y nmero de seguridad, con el que un usuarioso potencialmente peligra o podra
dejar una cuenta sin fondos.
Definicin Wikipedia de PayPal
PayPal es una empresa estadounidense, propiedad de eBay, perteneciente al sector del comercio electrnico por Internet que
permite la transferencia de dinero entre usuarios que tengan correo electrnico, una alternativa al tradicional mtodo en
papel como los cheques o giros postales. PayPal tambin procesa peticiones de pago en comercio electrnico y otro servicio
webs, por lo que cobra un porcentaje.

Ahora que conocemos el sistema ha llegado la hora de crear una cuenta PayPal. Para ello, tan slo hay que
acceder a la pgina web oficial y pulsar el botn Regstrese, como se muestra en la imagen:
Programacin Web
Bases de datos + PHP
CARRITO DE COMPRA EN PHP CON PAGO PAYPAL


Copyright 2013. Dr.c. Niels Henryk Aranda Cuevas. This document is ITSFCP Public Information

PayPal pone a nuestra disposicin 2 tipos de cuentas
Cuenta PayPal para particulares: Particulares que compran y venden por internet
Cuenta PayPal para empresas: Empresas que venden en Internet
En los dos casos, crearse una cuenta en PayPal es gratuito, lo nico que tendremos que hacer es rellenar una serie
de datos personales junto con el correo electrnico, que lo ms importante de la cuenta.
La que nos interesa para este proyecto es el primer caso: Cuenta PayPal para particulares, ya que aunque sea
limitado Vender en tu web un mximo de 2500! anuales, este registro servir solamente para esta prctica.
Ahora ya disponemos de todos lo necesario para empezar a crear la base de datos en MySQL para el carrito de
compra (siguiente tutorial) y todo lo que sigue.
7778 =(%4'%-% +, D6#E*
En todo proyecto web, por muy simple que parezca, es bueno hacer un diagrama de flujo, una especie de croquis
con los procesos que tendremos que seguir a la hora de ponernos a codificar. Estos pueden ser desde una
visualizacin general hasta un diagrama de flujo refleja el ms mnimo detalle.
Siguiendo con el tutorial, genera un diagrama de flujo para crear un carrito de compras.

Comparar con diagrama del profesor
En qu porcentaje se parece?


Programacin Web
Bases de datos + PHP
CARRITO DE COMPRA EN PHP CON PAGO PAYPAL


Copyright 2013. Dr.c. Niels Henryk Aranda Cuevas. This document is ITSFCP Public Information
Viendo el diagrama podemos tener una idea de lo que hay que hacer, pero para el que no haya visto algo
parecido, se explican a continuacin los apartados:
De acuerdo a la direccin de las flechas vamos a ir explicando cada uno de las partes del proceso:
1. Login.
En la mayora de aplicaciones web est presente el logueo de usuario, para as tener un acceso restringido a los
datos de la aplicacin, pero si hablamos de crear un carrito de compra o una tienda virtual, esto no es necesario
incluso no es beneficioso.
Teniendo en cuenta que la finalidad de toda tienda es que el cliente compre, no debemos poner trabas ni le
vamos a hacer perder el tiempo en formularios de registros y dems, mejor vamos al grano para comprar.
Por tanto, el formulario de login de usuario no lo tendremos en cuenta en esta ocasin.
2. Ver Productos.
Cuando un usuario accede a nuestra aplicacin, lo primero que le debemos mostrar es lo que realmente quiere
ver, es decir, los productos.
Los productos que vern los usuarios en la aplicacin pueden contener tanta informacin como queramos mostrar,
pero para nuestro proyecto bastar con:
Producto: Descripcin del Producto
Precio: Precio en pesos del producto.
Imagen (aadir al carro o eliminar del carro): La imagen servir al usuario para aadir al carro los productos que desee. Debido
a que puede volver a la pgina de productos para agregar ms productos su carro, Debemos tener en cuenta que si por ejemplo
el producto Camiseta Negra (L) ya ha sido elegido por el usuario, no le podemos mostrar de nuevo la imagen de aadir, sino
la de eliminar. Esto veremos cmo se hace cuando empecemos con el cdigo.
Si analizamos nuestro diagrama de flujo, vemos que esa primera accin del usuario de visitar nuestra pgina de
productos, conlleva una serie de cosas:
1. Iniciamos variables de sesin: Cada vez que un usuario entra en la aplicacin se le abre una sesin nica para
diferenciarlo de los dems usuarios y pasar informacin como productos, cantidad de productos, IP, etc... entre
todas las pginas de nuestra aplicacin.
2. Acceso a la tabla Productos de la base de datos: Para recuperar la lista de productos de nuestra tienda, hay
que acceder a la tabla PRODUCTOS de la base de datos y mostrarlos uno a uno en la tabla de nuestra pgina.
3. Aadir al carro.
Una vez el usuario ha visto todos los productos disponibles, ya puede elegir el que desee. Haciendo clic en la
imagen aadir al carro estar iniciando el proceso de compra, que en nuestra aplicacin generar una serie de
procesos:
Programacin Web
Bases de datos + PHP
CARRITO DE COMPRA EN PHP CON PAGO PAYPAL


Copyright 2013. Dr.c. Niels Henryk Aranda Cuevas. This document is ITSFCP Public Information
1. Aadir producto a la variable de sesin.
2. Enviar al usuario a la cesta de la compra VerCarrito para darle la opcin realizar el pago o bien seguir comprando.
3. Cambiar la imagen aadir al carro del producto elegido en el archivo VerProductos por la imagen eliminar del
carro.
4. Incluir una parte de la web para informar la cantidad de productos elegidos y el importe acumulado.
4. Ver carrito.
Habrn dos motivos por los que el usuario puede visualizar el carrito: Cuando aade el primer producto o cuando
el usuario haga clic en Ver Carrito.

5. Realizar Compra.
En esta parte del proceso el usuario podr realizar la compra mediante PayPal informando una serie de datos,
entre ellos el ms importante el e-mail que es la premisa principal para realizar pagos.
6. Envo de la Factura.
Cuando se haya realizado el pago finalmente, informaremos al usuario mediante un reporte o factura de los datos
de la compra y adems se le enviar un mail con el nmero de factura, datos de la compra, etc .. para que le
sirva como comprobante.
Una vez explicada la parte ms tediosa del tutorial, llega la hora de ponerse manos a la obra para crear la base de
datos y empezar a introducir datos para seguir con el cdigo de la aplicacin.
7F8 G%H, +, +%)*H
La estructura de una base de datos para una tienda virtual puede diferir en cuanto a complejidad, seguridad o
incluso en cada analista. En nuestro caso ser algo sencillo, til y simplificado que nos servir para crear el carro
de compra.
Empecemos por hacer un anlisis de las tablas que nos harn falta para la base de datos que llamaremos
colorate_paypal.
Lo primero que analizaremos ser la distincin y relacin de tablas, que conseguiremos con una simple hoja y un
bolgrafo como inicio del proceso.
Genera un diagrama de anlisis de una base de datos para un carrito de la compra.
Programacin Web
Bases de datos + PHP
CARRITO DE COMPRA EN PHP CON PAGO PAYPAL


Copyright 2013. Dr.c. Niels Henryk Aranda Cuevas. This document is ITSFCP Public Information

Comparar tu diagrama con el del profesor
En qu porcentaje se parece?

Tal y como se ve en la imagen del profesor, se han definido 4 tablas y aunque son bastante intuitivas por su
descripcin, a continuacin se explica a detalle:
CLIENTES: Esta tabla tiene que estar informada siempre que se realice un pedido, los datos quedan almacenados para hacer
las facturas en el momento en que la compra se haya realizado correctamente.
PRODUCTOS: Tabla donde guardaremos aquellos productos que el usuario podr comprar, as como informacin del nombre del
producto, precio, etc ..
PEDIDOS: Cada compra que el Cliente realice, debe estar ligada con un pedido donde tendremos informacin de quin lo ha
realizado (CLIENTE) y detalles de la compra (DET_PEDIDOS).
DET_PEDIDOS: Almacena el detalle del pedido, y algo muy importante como es la cantidad del producto elegido con lo que
calcularemos el importe total. Debemos tener en cuenta que si el precio del Producto cambia despus de haberse dado de alta
el detalle de un pedido, ste no cambiar en esta tabla (imaginaros el precio de un producto en promocin durante 2 meses, si
al cabo de los 3 meses miramos el precio del producto veremos que es ms caro, pero en esta tabla seguir siendo el mismo).
Una vez analizada cada una de las tablas de nuestra base de datos Colorate_Paypal, vamos con su creacin en
MySQL.
Crear base de datos Carrito de Compra en MySQL
Para empezar vamos a crear la base de datos Colorate_Paypal.
Accedemos a PhpMyAdmin (localhost/phpMyAdmin/) y damos de alta a las tablas:
Programacin Web
Bases de datos + PHP
CARRITO DE COMPRA EN PHP CON PAGO PAYPAL


Copyright 2013. Dr.c. Niels Henryk Aranda Cuevas. This document is ITSFCP Public Information

Es hora de ir incluyendo las tablas que hemos enumerado anteriormente. Para saber los campos que nos hacen
falta, basta con mirar nuestro anlisis de la base de datos que tenemos escrito en papel.
Antes de empezar a crear las tablas, se recomienda leer el documento: Integridad referencial.doc. En l se
explica cmo han de utilizarse las tablas relacionadas con Foreign Keys.
As que tenemos que dar de alta las tablas: CLIENTES, PRODUCTOS, PEDIDOS, DET_PEDIDOS.
*Nota: Es muy importante que demos de alta las tablas con el motor de almacenamiento InnoDb para poder relacionar unas
tablas con otras.

CLIENTES:
id_cliente (clave primaria): Numrico con autoincremento de 5 posiciones.
nombre: Alfanumrico de 80 posiciones
e-mail: Alfanumrico de 100 posiciones e ndice nico.
direccion: Alfanumrico de 200 posiciones
telefono: Numrico de 50 posiciones
fec_alta: Date de 10 posiciones



Programacin Web
Bases de datos + PHP
CARRITO DE COMPRA EN PHP CON PAGO PAYPAL


Copyright 2013. Dr.c. Niels Henryk Aranda Cuevas. This document is ITSFCP Public Information

A continuacin se proporciona el cdigo SQL para aadir la tabla CLIENTES a la base de datos:
MySQL:
CREATE TABLE `clientes` (
`id_cliente` INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nombre` VARCHAR( 80 ) NOT NULL ,
`e-mail` VARCHAR( 100 ) NOT NULL ,
`telefono` VARCHAR( 50 ) NULL ,
`direccion` VARCHAR( 50 ) NULL ,
`fec_alta` DATE NOT NULL ,
UNIQUE (`e-mail`)) ENGINE = INNODB;
PRODUCTOS:
id_producto (clave primaria): Numrico con autoincremento de 5 posiciones.
nombre: Alfanumrico de 80 posiciones.
descripcion: Alfanumrico de 250 posiciones.
precio: Numrico de 10 posiciones.
foto: Alfanumrico de 250 posiciones
**Nota: El campo foto no contendr ninguna imagen, solo estar informado con la ruta donde est guardada dicha foto, para
as no sobrecargar nuestra base de datos con datos innecesarios.
A continuacin se proporciona el cdigo SQL para aadir la tabla PRODUCTOS a la base de datos:
MySQL:
CREATE TABLE `productos` (
`id_producto` INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nombre` VARCHAR( 80 ) NOT NULL ,
`descripcion` VARCHAR( 250 ) NOT NULL ,
`precio` INT( 10 ) NOT NULL ,
`foto` VARCHAR( 250 ) NOT NULL ,
INDEX ( `nombre` )
) ENGINE = INNODB;
PEDIDOS:
id_pedido (clave primaria): Numrico con autoincremento de 5 posiciones.
id_cliente (clave fornea de CLIENTES): Numrico de 5 posiciones
fec_alta
A continuacin se proporciona el cdigo SQL para aadir la tabla PEDIDOS a la base de datos:
DET_PEDIDOS:
MySQL:
Programacin Web
Bases de datos + PHP
CARRITO DE COMPRA EN PHP CON PAGO PAYPAL


Copyright 2013. Dr.c. Niels Henryk Aranda Cuevas. This document is ITSFCP Public Information
CREATE TABLE `pedidos` (
`id_pedido` INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`id_cliente` INT( 5 ) NOT NULL ,
`fec_alta` DATE NOT NULL ,
INDEX ( `id_cliente` )
) ENGINE = MYISAM ;
id_detPedido (primaria): Numrico con autoincremento de 5 posiciones.
id_pedido (clave fornea de PEDIDOS): Numrico de 5 posiciones
id_producto (clave fornea de PRODUCTOS): Numrico de 5 posiciones
cantidad: Numrico de 5 posiciones.
precio: Numrico de 5 posiciones.
A continuacin se proporciona el cdigo SQL para aadir la tabla DET_PEDIDOS a la base de datos:
MySQL:
CREATE TABLE `det_pedidos` (
`id_detpedido` INT( 5 ) NOT NULL AUTO_INCREMENT ,
`id_pedido` INT( 5 ) NOT NULL ,
`id_producto` INT( 5 ) NOT NULL ,
`cantidad` INT( 5 ) NOT NULL ,
`precio` INT( 5 ) NOT NULL ,
PRIMARY KEY ( `id_detpedido` ) ,
KEY `id_pedido` ( `id_pedido` , `id_producto` ) ,
KEY `id_producto` ( `id_producto` )
) ENGINE = INNODB DEFAULT CHARSET = utf8 AUTO_INCREMENT =1;
Con estas 4 tablas ya tenemos completa nuestra base de datos MySQL para crear un carrito de compras. Es
momento de empezar a codificar nuestra aplicacin en PHP.
Inserta algunos registros en tu base de datos:
Ejemplo:
INSERT INTO tablaX VALUES (2, 'Jimmy Martnez');
INSERT INTO tablaX VALUES (3, 'Daniel Mena');
















Programacin Web
Bases de datos + PHP
CARRITO DE COMPRA EN PHP CON PAGO PAYPAL


Copyright 2013. Dr.c. Niels Henryk Aranda Cuevas. This document is ITSFCP Public Information

F8 C2'(.)H ,/ 0I0 5 B5CAJ
Un carrito de compra funciona bsicamente de la siguiente forma:
1. El usuario entra en la web y se crea una sesin nueva.
2. El usuario aade un producto al carro de la compra.
3. Una pgina PHP recibe los datos y lo almacena en variables de sesin.
4. PHP redirecciona a otra pgina que muestra los datos del carro al Usuario dndole la opcin de seguir comprando o bien
realizar la compra.
5. Una vez que el usuario est conforme con el carro de la compra y la cantidad de productos, realiza la compra.
Diseo y estructura en el cdigo de la interfaz
Vamos a dar una breve explicacin de cmo estructuraremos la pgina donde mostraremos los productos, la cual
la construiremos de manera modular al igual que todo el resto de la interfaz. Vamos a dividir la pgina en 9
archivos distintos para tener un cdigo ms entendible y no tener que repetir las mismas lneas en cada una de las
pginas, permitiendo una modificacin ms amena a futuro.
La interfaz se compondr de los siguientes archivos:
main.css: Hoja de estilos de la pgina.
conecta.php: Nos conecta con la base de datos. Este archivo tenis que modificarlo segn vuestros datos de acceso "host",
"user", "pass".
Opina sobre este cdigo.
meta_tags.php: Incluye las etiquetas de inicio de html, meta tags y enlaces a las hojas de estilo.
cabecera.php: Parte superior de la web, con el ttulo y lo que se quiere aadir
pie.php: Incluye la parte del CopyRight o cualquier cosa que se quiera poner fuera del cuerpo.
cierra_tags.php: Como su nombre indica, cerramos las etiquetas body y html
productos.php: Una de las pginas ms importante del tutorial donde se muestran todos los productos que vamos a "vender".
carro.php: Esta pgina mostrar la cesta de la compra y podremos aumentar y disminuir la cantidad de productos.
Estos archivos se encuentran en la carpeta carroCompras1, en el que est la base de la interfaz, la cual se ira
modificando durante el avance de este tutorial.
Como se puede observar el diseo de este carro de compras es bsico, de lo que se trata en este tutorial es de
tener unos conocimientos fundamentales de PHP. Una vez que disponemos de nuestra base de archivos, vamos a
empezar a codificar nuestro carro de la compra:
productos.php
En esta pgina se mostrarn los productos que dados de alta en la tabla productos. Para el tutorial, hemos dado
de alta unos cuantos y aqu est el cdigo para que tambin puedas incluirlos nuevos productos.
Programacin Web
Bases de datos + PHP
CARRITO DE COMPRA EN PHP CON PAGO PAYPAL


Copyright 2013. Dr.c. Niels Henryk Aranda Cuevas. This document is ITSFCP Public Information
MySQL:
INSERT INTO `productos` VALUES (1, 'Diseo Web Esttica', 850.00);
INSERT INTO `productos` VALUES (2, 'Desarrollo CMS PHP y MySql', 2150.00);
INSERT INTO `productos` VALUES (3, 'Diseo Logo', 210.00);
INSERT INTO `productos` VALUES (4, 'Diseo Web (PSD)', 540.00);
INSERT INTO `productos` VALUES (5, 'Formulario de Contacto', 52.00);
INSERT INTO `productos` VALUES (6, 'Registro de Usuarios', 42.00);
INSERT INTO `productos` VALUES (7, 'Animacin Flash', 120.00);
INSERT INTO `productos` VALUES (8, 'Carrito de Compra', 590.00);
1. INSERT INTO `productos` VALUES (9, 'Alojamiento Web', 34.00);
INSERT INTO `productos` VALUES (10, 'Dominio', 9.00);
Ahora que tenemos los registros necesarios, es hora de mostrarlos en nuestra pgina de productos.
Qu necesitamos en este archivo?
1. Iniciamos sesin
2. Conectar con nuestra base de datos
3. Acceder a la tabla productos y seleccionarlos
4. Mostrar tabla con Productos, Precio
La pgina debe quedar como se presenta en esta imagen:

Programacin Web
Bases de datos + PHP
CARRITO DE COMPRA EN PHP CON PAGO PAYPAL


Copyright 2013. Dr.c. Niels Henryk Aranda Cuevas. This document is ITSFCP Public Information

Ahora hay que abrir el archivo "productos.php" para aadir algunas lneas. Para empezar, lo primero que tenemos
que hacer es iniciar sesin, as que antes de definir la variable $titulo, pondremos lo siguiente:
PHP:
//Iniciamos sesin o continuamos la que ya exista
session_start();
Algunos estaris pensando Qu es una sesin en PHP?, cuando hablamos de sesin en PHP hablamos de un
entorno que consiste en controlar el acceso individual a una pgina o grupo de pginas por medio de un
identificador nico por visitante/usuario.
Para que se entienda, si entramos en una tienda virtual como puede ser la de Nike. Si nos vamos a la zona de
productos y aadimos un producto para despus seguir navegando por la web y buscar otro, cuando queramos
Programacin Web
Bases de datos + PHP
CARRITO DE COMPRA EN PHP CON PAGO PAYPAL


Copyright 2013. Dr.c. Niels Henryk Aranda Cuevas. This document is ITSFCP Public Information
aadir un segundo producto, al no tener sesiones activas en el sistema, no podr recordar los productos que ya
hemos elegido con anterioridad, perdiendo as los datos.
Por tanto el uso de sesiones es imprescindible para montar una carrito de compra online.
Una vez que conocemos para qu sirven las sesiones, vamos a ver como se almacenarn los datos en las variables
de sesin.
Crearemos un array bidimensional para almacenar el producto y la cantidad, de todos los productos que se vayan
aadiendo al carrito de la compra. Para hacernos una idea ms grfica lo plasmaremos en una tabla:
INDICE PRODUCTO (id) CANTIDAD
0 10 1
1 8 3
2 4 1
Otra imagen para entenderlo.

En la cesta de la compra del ejemplo de la imagen de arriba hay 2 productos, en concreto se han aadido a la
cesta 3 Desarrollos CMS PHP y mySQL y 5 Diseos Web (PSD). En el array que se muestra, se ve claramente el ID
del producto y su cantidad, que es con lo que vamos a jugar en todo momento dentro de nuestros archivos
"productos.php" y "carro.php".
Despus de esta pequea explicacin sobre sesiones en PHP y cmo utilizarlas en nuestra aplicacin, vamos a
seguir con el cdigo.
Una vez que tenemos nuestra sesin iniciada, tenemos que mostrar los productos en nuestra pgina, as que hay
que conectar nuestro archivo PHP con la tabla de productos. Esto se consigue gracias al archivo que hemos
incluido "conecta.php" (acordaros de configurar de acuerdo a la base de datos) lo nico que nos faltar ser
definir la sentencia SQL que nos devolver lo que queremos:
PHP:
Programacin Web
Bases de datos + PHP
CARRITO DE COMPRA EN PHP CON PAGO PAYPAL


Copyright 2013. Dr.c. Niels Henryk Aranda Cuevas. This document is ITSFCP Public Information
//Sentencia SQL para obtener los productos de la tabla prodcuto
$resultado = mysql_query("SELECT id, producto, precio FROM productos");
Bien, ya hemos definido la sentencia, la cual slo recoge los campos id, producto y precio (utilizar "SELECT *" en
este caso es una manera absurda de sobrecargar nuestra base de datos, ya que los dems campos no nos hacen
falta para nada), ahora quedara mostrarlos por pantalla.
Como hay ms de un registro en la tabla productos tendremos que hacer uso de un bucle como puede ser la
sentencia "while", asi que justo despus de definir las cabeceras de la tabla (que ya tenemos en el archivo que
hemos descargado), vamos a realizar dicho bucle de la siguiente manera:
PLAIN TEXT
PHP:
// comienza un bucle que leera todos los registros y ejecutara las ordenes //que siguen
while ($productos = mysql_fetch_array($resultado)) {
echo "<tr class='borde_tabla'><td
style='display:none'>" . $productos['id'] . "</td>"; // id del producto que no se ver
por pantalla
echo "<td>" . $productos['producto'] . "</td>"; // imprime el
nombre del producto
echo "<td style='text-align:right'>" . $productos['precio'] . " !
</td>"; // imprime el precio
echo "<td style='text-align:right'>
<a href='carro.php?id=" . $productos['id'] . "&action=add'
alt='Aadir al carro'>
<img src='img/add_carro.png' width='48' height='48' alt='Aadir al
carrito' title='Aadir producto al carrito'>
</a>
</td>";
echo "</tr>";
} // fin del bucle de ordenes
Aqu tenemos bastantes cosas que explicar. Como puede verse el bucle recorrer uno por uno los registros que se
han recogido de la sentencia SQL guardndolos en un array que hemos llamado "$productos". Cada uno de los
campos se guardar en el array tal y como lo hemos nombrado en la sentencia SQL, es decir, cada registro se
guardar en las siguientes variables del array:
$productos['id']
$productos['producto']
$productos['precio']
Una vez impreso el id (aunque este lo hacemos invisible al navegador gracias al estilo display:none), el nombre del
producto y el precio, falta por asignar en enlace en forma de imagen donde el usuario har clic para aadir o
eliminar de la cesta segn ya lo haya aadido o no.
Como se puede apreciar en el enlace que generamos, vamos a pasarle a la pgina "carro.php" un enlace con la
siguiente estructura:
Programacin Web
Bases de datos + PHP
CARRITO DE COMPRA EN PHP CON PAGO PAYPAL


Copyright 2013. Dr.c. Niels Henryk Aranda Cuevas. This document is ITSFCP Public Information
Ejemplo: carro.php?id=2&action=add
Este enlace lo que hace es pasarle el id del producto (en el caso del ejemplo sera el 2) y como variable accin el
valor add, con lo cual le estamos diciendo al archivo carro.php, que aada a la cesta el producto nmero 2 (id=2
de la tabla productos).
Con esto ya tenemos el archivo "productos.php" casi completo, faltara aadir la funcionalidad para que muestre
un icono de aadir o un icono de eliminar segn si se haya aadido o no el producto en la cesta.

Das könnte Ihnen auch gefallen