好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

php实现购物车程序代码

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

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

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

具体的实现代码,如下:

<?php  session_start();  if ( $_SESSION [ 'carts' ]==]]){  $carts = array ();  array_push ( $carts , [0-0″);  $_SESSION [ 'carts' ]= $carts ;  }  $method = $_GET [ 'method' ];  if ( $method ==]add]){  $productId = $_GET [ 'productid' ];  $number = $_GET [ 'number' ];  $carts = $_SESSION [ 'carts' ];  $flag =]false];  for ( $i =0; $i <sizeof( $carts ); $i ++){  $pn = $carts [ $i ];  $pns =split([-],  $pn );  if ( $pns [0]== $productId ){  $carts [ $i ]= $productId .]-]. $number ;  $flag =]true];  $location = $i ;  }  }  if ( $flag ==]true]){  $carts [ $location ]= $productId .]-]. $number ;  } else {  array_push ( $carts ,  $productId .]-]. $number );  }  $_SESSION [ 'carts' ]= $carts ;  } //开源代码phpfensi.com   if ( $method ==] delete ]){  $productId = $_GET [ 'productid' ];  $carts = $_SESSION [ 'carts' ];  for ( $i =0; $i <sizeof( $carts ); $i ++){  $pn = $carts [ $i ];  $pns =split([-],  $pn );  if ( $pns [0]== $productId ){  unset( $carts [ $i ]);  }  }  $_SESSION [ 'carts' ]= $carts ;  }  ?> 

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

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

class  DbConfig{  var   $databaseAddress = "180.153.178.89" ;  var   $dataBaseUser = "pantingwen" ;  var   $databasePassword = "753116" ;  var   $database = "sqlpantingwen" ;  /**   * @return the $databaseAddress   */   public   function  getDatabaseAddress() {  return   $this ->databaseAddress;  }  /**   * @return the $dataBaseUser   */   public   function  getDataBaseUser() {  return   $this ->dataBaseUser;  }  /**   * @return the $databasePassword   */   public   function  getDatabasePassword() {  return   $this ->databasePassword;  }  /**   * @return the $database   */   public   function  getDatabase() {  return   $this ->database;  }  /**   * @param field_type $databaseAddress   */   public   function  setDatabaseAddress( $databaseAddress ) {  $this ->databaseAddress =  $databaseAddress ;  }  /**   * @param field_type $dataBaseUser   */   public   function  setDataBaseUser( $dataBaseUser ) {  $this ->dataBaseUser =  $dataBaseUser ;  }  /**   * @param field_type $databasePassword   */   public   function  setDatabasePassword( $databasePassword ) {  $this ->databasePassword =  $databasePassword ;  }  /**   * @param field_type $database   */   public   function  setDatabase( $database ) {  $this ->database =  $database ;  }  } 

数据库连接代码:

include_once   'DbConfig.php' ;  define( "conn" , getcon());  function  getcon(){  $dbConfig = new  DbConfig();  $con =mysql_connect( $dbConfig ->getDatabaseAddress(), $dbConfig ->getDataBaseUser(), $dbConfig ->getDatabasePassword());  return   $con ;  }  /**   * 选择一款数据库   * Enter description here ...   */   function  _select_db(){  $dbConfig = new  DbConfig();  if (!mysql_select_db( $dbConfig ->getDatabase())){  exit ( '找不到指定的数据库' );  }  }  /**   * 设置字符集   * Enter description here ...   */   function  _set_names(){  if (!mysql_query( 'set names utf8' )){  exit ( '字符集错误' );  }  }  function  _query( $_sql ){  _select_db();  _set_names();  if (! $result =mysql_query( $_sql ,conn)){  echo  mysql_error();  }  return   $result ;  }  /**   * 只能是获取一个数据组   * Enter description here ...   * @param unknown_type $_sql   */   function  _fetch_array( $_sql ){  return  mysql_fetch_array(_query( $_sql ),MYSQL_ASSOC);  }  /**   * 返回数据组   * Enter description here ...   * @param unknown_type $_sql   */   function  _fetch_array_list( $_result ){  return  mysql_fetch_array( $_result ,MYSQL_ASSOC);  }  /**   * 影响到到的记录数   * Enter description here ...   */   function  _affect_rows(){  return  mysql_affected_rows();  }  /**   * 判断是不是存在数据   * Enter description here ...   * @param unknown_type $_sql   * @param unknown_type $_info   */   function  _is_repeat( $_sql , $_info ){  if (_fetch_array( $_sql )){  }  }  function  _close(){  if (!mysql_close(_conn)){  exit ( '关闭异常' );  }  } 

查看更多关于php实现购物车程序代码 - php高级应用的详细内容...

  阅读:47次