php利用session创建购物车实例

自己写的一个简单的购物车实例,给大家分享一下!

首先创建产品数据表:

CREATE TABLE `pro` (
   `id` tinyint(4) NOT NULL auto_increment,
   `name` varchar(100) NOT NULL,
   `price` char(100) NOT NULL,
   `img` varchar(100) NOT NULL,
   PRIMARY KEY  (`id`)
 ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;

插入测试数据:

INSERT INTO `pro` VALUES (1, '测试产品白菜', '100', '');
 INSERT INTO `pro` VALUES (2, '测试产品萝卜', '200', '');
 INSERT INTO `pro` VALUES (3, '测试产品菜心', '150', '');

创建数据库连接文件conn.php:

<?php
$mysql_server_name="localhost"; //数据库服务器名称 
$mysql_username="root"; // 连接数据库用户名 
$mysql_password="123"; // 连接数据库密码 
$mysql_database="shop"; // 数据库的名字 
$conn=mysql_connect($mysql_server_name, $mysql_username,$mysql_password); 
mysql_select_db($mysql_database,$conn); 
mysql_query("set names 'utf8'");  
?>

产品购物文件shop_cart.php:

<?php
 include("inc.php");
 ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>商品列表</title>
 </head>
 
 
 <body>
 <table border="1" cellspacing="0" cellpadding="0">
 <tr> 
 <th>商品ID</th> 
 <th>商品名称</th> 
 <th>商品价格</th> 
 <th>操作</th> 
 </tr>
 <?php
 $sql = "SELECT * FROM `pro`";
 $query = mysql_query($sql);
 while ($row = mysql_fetch_array($query)) {
 ?>
 <tr>
 <td><?php echo $row['id']?></td>
 <td><?php echo $row['name']?></td>
 <td><?php echo $row['price']?></td>
 <td><a href="buy.php?id=<?php echo $row['id'];?>">添加购物车</a></td>
 </tr>
 <?php
 }
 ?> 
 </table>
 </body>
 </html>

处理购物产品文件buy.php:

<?php
 session_start();
 include("inc.php");
 $id=$_POST['id'];
 $sql="SELECT * FROM `pro` where id=$id";
 $query=mysql_query($sql);
 $row=mysql_fetch_assoc($query);
 $row['num']=$_POST['num'];
 if(isset($_SESSION['list'][$row['id']])){
 $_SESSION['list'][$row['id']]["num"] += $row['num'];
 }else{
 $_SESSION['list'][$row['id']]=$row;
 }
 ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>商品列表</title>
 </head>
 
 
 <body>
 <table border="1" cellspacing="0" cellpadding="0">
 <tr> 
 <th>商品ID</th> 
 <th>商品名称</th> 
 <th>商品价格</th>
 <th>数量</th> 
 <th>操作</th> 
 </tr>
 <?php
 foreach ($_SESSION['list'] as $v) {
 ?>
 <tr>
 <td><?php echo $v['id']?></td>
 <td><?php echo $v['name']?></td>
 <td><?php echo $v['price']?></td>
 <td><?php echo $v['num']?></td>
 <td><a href="del.php?did=<?php echo $row['id'];?>">删除</a></td>
 </tr>
 <?php
 }
 ?> 
 <tr>
 <td colspan="5"><a href="del.php?did=0">清空购物车</a></td>
 </tr>
 </table>
 </body>
 </html>

删除产品文件del.php:

<?php
if($_GET['did']==0){
    //清空购物车
    unset($_SESSION['list']);
}else{
    //根据提交过来的ID进行删除
    unset($_SESSION['list'][$_GET['did']]);
}
?>

代码写的比较简单,其实购物车的原理也就是这么简单!!


转载于:https://my.oschina.net/azaz/blog/224798

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值