网站地图    收藏   

主页 > php专栏 > php应用 >

php实现购物车程序代码 - php高级应用

来源:自学PHP网    时间:2014-11-27 22:16 作者: 阅读:

[导读] 购物车是现在电商开发者必须要做的一个功能了,下面我来给大家整理两个可用于电商网站的简单购物车程序代码,有兴趣的同学不防进入参考一下.例子1:最近在写一个电子商务的网站,在...

php实现购物车程序代码

购物车是现在电商开发者必须要做的一个功能了,下面我来给大家整理两个可用于电商网站的简单购物车程序代码,有兴趣的同学不防进入参考一下.

例子1:最近在写一个电子商务的网站,在做购物车的时候才发现php里面没有map这种数据结构,我们不能简单的通过一个hashmap来实现购物车,于是我想到到数组,通过数组的值的格式化来进行编写.

也就是说,我们是通过循环数组的值,通过拆分值来判断数据是不是重复,比如我现在浏览的商品的id是4,添加的数量是3,我就在数组里面存放4-3,以后如果当遇到是id是4的时候,我们只是需要时改变数组里面这个位置的数值,如果id在数组里面拆分比较都不存在,则往数组里面添加数据,删除购物车制定id 的商品也是循环数组,这个值,使用unset()来释放这个值.

具体的实现代码,如下:

  1. <?php 
  2. session_start(); 
  3. if($_SESSION['carts']==””){ 
  4. $carts=array(); 
  5. array_push($carts, “0-0″); 
  6. $_SESSION['carts']=$carts
  7. $method=$_GET['method']; 
  8. if($method==”add”){ 
  9. $productId=$_GET['productid']; 
  10. $number=$_GET['number']; 
  11. $carts=$_SESSION['carts']; 
  12. $flag=”false”; 
  13. for($i=0;$i<sizeof($carts);$i++){ 
  14. $pn=$carts[$i]; 
  15. $pns=split(“-”, $pn); 
  16. if($pns[0]==$productId){ 
  17. $carts[$i]=$productId.”-”.$number
  18. $flag=”true”; 
  19. $location=$i
  20. if($flag==”true”){ 
  21. $carts[$location]=$productId.”-”.$number
  22. }else
  23. array_push($carts$productId.”-”.$number); 
  24. $_SESSION['carts']=$carts
  25. }//开源代码phpfensi.com 
  26. if($method==”delete”){ 
  27. $productId=$_GET['productid']; 
  28. $carts=$_SESSION['carts']; 
  29. for($i=0;$i<sizeof($carts);$i++){ 
  30. $pn=$carts[$i]; 
  31. $pns=split(“-”, $pn); 
  32. if($pns[0]==$productId){ 
  33. unset($carts[$i]); 
  34. $_SESSION['carts']=$carts
  35. ?> 

上面电子商务课程的时候做的一个简单的程序了,就是一个在线购物,不过还是90多分的,其实只要是这种类似的程序,都是简单的增删改查系统,无非就是就对数据库的操作,我们要做的就是很好的实现这个业务逻辑,以及能很好的设计相关的字段来控制,比如是商品的状态的控制,是上线还是下线,还是推荐的.

现在看看连接数据库的代码吧,数据库配置代码,其实这个可以在xml配置文件里面设置,代码如下:

  1. class DbConfig{ 
  2. var $databaseAddress="180.153.178.89"
  3. var $dataBaseUser="pantingwen"
  4. var $databasePassword="753116"
  5. var $database="sqlpantingwen"
  6. /** 
  7. * @return the $databaseAddress 
  8. */ 
  9. public function getDatabaseAddress() { 
  10. return $this->databaseAddress; 
  11. /** 
  12. * @return the $dataBaseUser 
  13. */ 
  14. public function getDataBaseUser() { 
  15. return $this->dataBaseUser; 
  16. /** 
  17. * @return the $databasePassword 
  18. */ 
  19. public function getDatabasePassword() { 
  20. return $this->databasePassword; 
  21. /** 
  22. * @return the $database 
  23. */ 
  24. public function getDatabase() { 
  25. return $this->database; 
  26. /** 
  27. * @param field_type $databaseAddress 
  28. */ 
  29. public function setDatabaseAddress($databaseAddress) { 
  30. $this->databaseAddress = $databaseAddress
  31. /** 
  32. * @param field_type $dataBaseUser 
  33. */ 
  34. public function setDataBaseUser($dataBaseUser) { 
  35. $this->dataBaseUser = $dataBaseUser
  36. /** 
  37. * @param field_type $databasePassword 
  38. */ 
  39. public function setDatabasePassword($databasePassword) { 
  40. $this->databasePassword = $databasePassword
  41. /** 
  42. * @param field_type $database 
  43. */ 
  44. public function setDatabase($database) { 
  45. $this->database = $database

数据库连接代码:

  1. include_once 'DbConfig.php'
  2. define("conn", getcon()); 
  3. function getcon(){ 
  4. $dbConfig=new DbConfig(); 
  5. $con=mysql_connect($dbConfig->getDatabaseAddress(),$dbConfig->getDataBaseUser(),$dbConfig->getDatabasePassword()); 
  6. return $con
  7. /** 
  8. * 选择一款数据库 
  9. * Enter description here ... 
  10. */ 
  11. function _select_db(){ 
  12. $dbConfig=new DbConfig(); 
  13. if(!mysql_select_db($dbConfig->getDatabase())){ 
  14. exit('找不到指定的数据库'); 
  15. /** 
  16. * 设置字符集 
  17. * Enter description here ... 
  18. */ 
  19. function _set_names(){ 
  20. if(!mysql_query('set names utf8')){ 
  21. exit('字符集错误'); 
  22. function _query($_sql){ 
  23. _select_db(); 
  24. _set_names(); 
  25. if(!$result=mysql_query($_sql,conn)){ 
  26. echo mysql_error(); 
  27. return $result
  28. /** 
  29. * 只能是获取一个数据组 
  30. * Enter description here ... 
  31. * @param unknown_type $_sql 
  32. */ 
  33. function _fetch_array($_sql){ 
  34. return mysql_fetch_array(_query($_sql),MYSQL_ASSOC); 
  35. /** 
  36. * 返回数据组 
  37. * Enter description here ... 
  38. * @param unknown_type $_sql 
  39. */ 
  40. function _fetch_array_list($_result){ 
  41. return mysql_fetch_array($_result,MYSQL_ASSOC); 
  42. /** 
  43. * 影响到到的记录数 
  44. * Enter description here ... 
  45. */ 
  46. function _affect_rows(){ 
  47. return mysql_affected_rows(); 
  48. /** 
  49. * 判断是不是存在数据 
  50. * Enter description here ... 
  51. * @param unknown_type $_sql 
  52. * @param unknown_type $_info 
  53. */ 
  54. function _is_repeat($_sql,$_info){ 
  55. if(_fetch_array($_sql)){ 
  56. function _close(){ 
  57. if(!mysql_close(_conn)){ 
  58. exit('关闭异常'); 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论