当前位置:首页 > PHP教程 > php高级应用 > 列表

php购物车实例

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-09 13:00:09 浏览: 评论:0 

这里又提供一款php购物车实例代码,这是一款适合种位要开发商城或购物系统参考的开发实例了,告诉你如果增加商品到购物并删除,与购物车的数据库设计实例.

inventory表,代码如下:

  1. create table inventory (  
  2.   product tinytext not null,  
  3.   quantity tinytext not null,  
  4.   id int(4) default '0' not null auto_increment,  
  5.   description tinytext not null,  
  6.   price float(10,2) default '0.00' not null,  
  7.   category char(1) default '' not null,  
  8.   key id (id),  
  9.   primary key (id),  
  10.   key price (price)  
  11. ); 
  12. insert into inventory values ('硬盘','5','1','80g','5600','1'); 
  13. insert into inventory values ('cpu','12','2','p4-2.4g','6600','1'); 
  14. insert into inventory values ('dvd-rom','7','3','12x','2000','1'); 
  15. insert into inventory values ('主板','3','4','asus','5000','2'); 
  16. insert into inventory values ('显示卡','6','5','64m','4500','1'); 
  17. insert into inventory values ('刻录机','4','6','52w','3000','1'); 

shoping表

  1. create table shopping (  
  2.   session tinytext not null,  
  3.   product tinytext not null,  
  4.   quantity tinytext not null,  
  5.   card tinytext not null,  
  6.   id int(4) default '0' not null auto_increment,  
  7.   key id (id),  
  8.   primary key (id)  
  9. ); 

shoper表

  1. create database shopper; 
  2. use shopper; 
  3. create table shopping (  
  4.   session tinytext not null,  
  5.   product tinytext not null,  
  6.   quantity tinytext not null,  
  7.   card tinytext not null,  
  8.   id int(4) default '0' not null auto_increment,  
  9.   key id (id),  
  10.   primary key (id)  
  11. );  
  12. create table inventory (  
  13.   product tinytext not null,  
  14.   quantity tinytext not null,  
  15.   id int(4) default '0' not null auto_increment,  
  16.   description tinytext not null,  
  17.   price float(10,2) default '0.00' not null,  
  18.   category char(1) default '' not null,  
  19.   key id (id),  
  20.   primary key (id),  
  21.   key price (price)  
  22. ); 
  23. insert into inventory values ('硬盘','5','1','80g','5600','1'); 
  24. insert into inventory values ('cpu','12','2','p4-2.4g','6600','1'); 
  25. insert into inventory values ('dvd-rom','7','3','12x','2000','1'); 
  26. insert into inventory values ('主板','3','4','asus','5000','2'); 
  27. insert into inventory values ('显示卡','6','5','64m','4500','1'); 
  28. insert into inventory values ('刻录机','4','6','52w','3000','1');

main.php购物页面,代码如下:

  1. /*mysql --user=root --password=your_password */ 
  2.  
  3.  
  4. include("shoppingcart.php");  
  5. $cart = new cart; 
  6. $table="shopping"
  7.  
  8. /* 查询并显示所有存货表中的信息 */ 
  9.     $query = "select * from inventory"
  10.     $invresult = mysql_query($query);  
  11.     if (!($invresult)) {  
  12.        echo "查询失败<br>"
  13.        exit
  14.     }  
  15.     echo "以下产品可供订购∶"
  16.     echo "<table border=0>"
  17.     echo "<tr><td bgcolor=#aaccff>产品编号</td><td bgcolor=#aaccff>产品名称</td><td bgcolor=#aaccff>单价</td>"
  18.     echo "<td bgcolor=#aaccff>剩余数量</td><td bgcolor=#aaccff>产品描述</td><td bgcolor=#aaccff>放入购物车</td></tr>"
  19.     while($row_inventory = mysql_fetch_object($invresult)) { 
  20.     echo "<tr><td bgcolor=#aaccff>".$row_inventory->id."</td>";  
  21.     echo "<td bgcolor=#aaccff>".$row_inventory->product."</td>";  
  22.     echo "<td bgcolor=#aaccff>".$row_inventory->price."</td>";  
  23.     echo "<td bgcolor=#aaccff>".$row_inventory->quantity."</td>";  
  24.     echo "<td bgcolor=#aaccff>".$row_inventory->description."</td>"
  25.     echo "<td bgcolor=#aaccff><a href='additem.php?product=".$row_inventory->product."'><img border='0' src='cart.gif' width='81' height='17'></a></td></tr>";  
  26.     } 
  27.     echo "</table>"
  28.     echo "<br>购物车中产品的数量∶".$cart->quant_items($table$session); 
  29.     echo "<br><br><a href='clearcart.php'><img border='0' src='car.gif'></a>清空购物车"
  30.  
  31.  
  32.  //shoppingcart.php代码 
  33.  
  34.  <?php 
  35.     if (!$session && !$s) {  
  36.         $s = md5(uniqid(rand()));  
  37.         setcookie("session""$s", time() + 14400);  
  38.     } 
  39.  
  40. /* 检查是否有 seesion, 如果没有产生一个 md5 的唯一 id, 并利用 cookie 存入 $s 中。 
  41. 并且设置其存在时间为 14400 sec 也就是 4 小时 */ 
  42.  
  43.  
  44.     $mysql_link = mysql_connect("127.0.0.1""root""test");  
  45.     if (!($mysql_link)) {  
  46.        echo "连接数据库失败<br>"
  47.        exit
  48.     }  
  49.     $mysql_select=mysql_select_db("shopper"$mysql_link); 
  50.     if (!($mysql_select)) {  
  51.        echo "打开数据库失败<br>"
  52.        exit
  53.     }  
  54.  
  55. /* 购物车 class */ 
  56.  
  57.    class cart {  
  58.         function check_item($table$session$product) {  
  59.             $query = "select * from $table where session='$session' and product='$product' ";  
  60.             $result = mysql_query($query);  
  61.               
  62.             if(!$result) {  
  63.                 return 0;  
  64.             }  
  65.             $numrows = mysql_num_rows($result);  
  66.             if($numrows == 0) {  
  67.                 return 0;  
  68.             } else {  
  69.                 $row = mysql_fetch_object($result);  
  70.                 return $row->quantity;  
  71.             }  
  72.         } 
  73.  
  74.         function add_item($table$session$product$quantity) {  
  75.             $qty = $this->check_item($table$session$product);  
  76.             if($qty == 0) {  
  77.                 $query = "insert into $table (session, product, quantity) values ";  
  78.                 $query .= "('$session', '$product', '$quantity') ";  
  79.                 mysql_query($query);  
  80.             } else {  
  81.                 $quantity += $qty;  
  82.                 $query = "update $table set quantity='$quantity' where session='$session' and ";  
  83.                 $query .= "product='$product' ";  
  84.                 mysql_query($query); 
  85.             }  
  86.         }  
  87.           
  88.         function delete_item($table$session$product) {  
  89.             $query = "delete from $table where session='$session' and product='$product' ";  
  90.             mysql_query($query);  
  91.         }  
  92.           
  93.         function modify_quantity($table$session$product$quantity) {  
  94.             $query = "update $table set quantity='$quantity' where session='$session' ";  
  95.             $query .= "and product='$product' ";  
  96.             mysql_query($query);  
  97.         }  
  98.           
  99.         function clear_cart($table$session) {  
  100.             $query = "delete from $table where session='$session' ";  
  101.             mysql_query($query);  
  102.         }  
  103.           
  104.         function cart_total($table$session) {  
  105.             $query = "select * from $table where session='$session' ";  
  106.             $result = mysql_query($query);  
  107.             if(mysql_num_rows($result) > 0) {  
  108.                 while($row = mysql_fetch_object($result)) {  
  109.                     $query = "select price from inventory where product='$row->product' ";  
  110.                     $invresult = mysql_query($query);  
  111.                     $row_price = mysql_fetch_object($invresult);  
  112.                     $total += ($row_price->price * $row->quantity);  
  113.                 }  
  114.             }  
  115.             return $total;  
  116.         }  
  117.           
  118.  
  119.  
  120.                 $count++;  
  121.             }  
  122.     echo "</table>"
  123.             $total = $this->cart_total($table$session);  
  124.             $contents["final"] = $total;  
  125.             return $contents;  
  126.         }  
  127.           
  128.         function num_items($table$session) {  
  129.             $query = "select * from $table where session='$session' ";  
  130.             $result = mysql_query($query);  
  131.             $num_rows = mysql_num_rows($result);  
  132.             return $num_rows;  
  133.         }  
  134.           
  135.         function quant_items($table$session) {  
  136.             $quant = 0;  
  137.             $query = "select * from $table where session='$session' ";  
  138.             $result = mysql_query($query);  
  139.             while($row = mysql_fetch_object($result)) {  
  140.                 $quant += $row->quantity;  
  141.             }  
  142.             return $quant;  
  143.         }  
  144.     } 
  145. //增加到购物车 
  146. include("shoppingcart.php"); 
  147. $cart = new cart; 
  148. $table="shopping"
  149. echo "你的购物清单∶<br>"
  150. $cart->add_item($table,$session,$product,'1'); 
  151. $cart->display_contents($table$session); 
  152. echo "<br>你的购物总金额∶".$cart->cart_total($table$session); 
  153. echo "<br><form action='main.php'>"
  154. echo "<input type=submit value='继续购物'>"
  155. echo "</form>";//开源代码phpfensi.com 
  156.  
  157.  
  158. //清空购物车 
  159.  
  160. include("shoppingcart.php"); 
  161. $cart = new cart; 
  162. $table="shopping"
  163. $cart->clear_cart($table$session); 
  164. echo "购物车中产品的数量∶".$cart->num_items($table$session); 
  165. echo "<form action='main.php'>"
  166. echo "<input type=submit value='继续购物'>"
  167. echo "</form>";

Tags: php购物车 php购物车实例

分享到: