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高级应用的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did30021