作者:qCANL | 来源:互联网 | 2014-06-18 09:01
购物车实现方法最常用的几种方法有,COOKIE,session与把记录保存到数据库,下面我来介绍最简单的方法就利用COOKIE作为购物车的商品记录存储库。
PHP购物车,在互联网中有好多网店,他们是怎样实现购物车?大多的网站都用COOKIE来实现,偶也自己写了一个简单的实例让大家参考一下.
用COOKIE简单的实现购物车,数据库代码如下:
- – phpMyAdmin SQL Dump
- – version 2.11.9.2
- –
- – 主机: 127.0.0.1:3306
- – 生成日期: 2009 年 12 月 06 日 02:05
- – 服务器版本: 5.1.28
- – PHP 版本: 5.2.6
- SET SQL_MODE=”NO_AUTO_VALUE_ON_ZERO”;
- –
- – 数据库: `shopper`
- –
- – ——————————————————–
- –
- – 表的结构 `shop`
- –
- CREATE TABLE IF NOT EXISTS `shop` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `price` int(11) NOT NULL,
- `title` varchar(110) NOT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
- –
- – 导出表中的数据 `shop`
- –
- INSERT INTO `shop` (`id`, `price`, `title`) VALUES
- (1, 100, ‘玉米’),
- (2, 200, ‘大豆’),
- (3, 500, ‘西瓜’),
- (4, 900, ‘冬瓜’),
- (5, 800, ‘大米’);
PHP代码文件:
-
-
-
-
-
-
-
- $conn=mysql_connect(“localhost”,”root”,”");
- mysql_select_db(“shopper”,$conn);
- mysql_query(“SET NAMES utf8″);
- $sql=”SELECT * FROM `shop` WHERE 1 “;
- $sql2=mysql_query($sql);
- if($_POST[ok]){
- $_POST[number]=(int)$_POST[number];
- if($_POST[number]>0){
- $idid=$_POST[id];
- setCOOKIE(“COOKIE_arr[$idid]“,$_POST[title].”|”.$_POST[number].”|”.$_POST[price].”|”.$_POST[number]*$_POST[price],time()+36000);
- header(“location:shop.php”);
- }else{
- echo “输入的数量不正确.
”;
- }
- }
- if(isset($_COOKIE['COOKIE_arr'])){
- foreach($_COOKIE['COOKIE_arr'] as $name => $value) {
- $value2=explode(“|”,$value);
- echo “ID({$name}) — $value2[0] — 数量:$value2[1] – 单价:$value2[2] – 总价格:$value2[3]
n”;
- }
- }
- ?>
- //W3C//DTD XHTML 1.0 Transitional//EN” “
-
-
-
-
- while($row=mysql_fetch_array($sql2)){
- ?>
-
- echo $row[id]; ?>” />
- echo $row[price]; ?>” />
- echo $row[title]; ?>” />
- id:echo $row[id]; ?>
- 商品名:echo $row[title]; ?>
- 价格:echo $row[price]; ?>
- 数量:
-
-
-
- }
- ?>
-
-
缺点分析:COOKIE作为购物车很容易丢失了,如果用户清除浏览器缓存就有可能丢失COOKIE值哦,所以一般正常情况都是利用COOKIE+数据库来实例.