ホームページ >php教程 >php手册 >php实现购物车程序代码

php实现购物车程序代码

WBOY
WBOYオリジナル
2016-05-25 16:40:251622ブラウズ

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

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

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

具体的实现代码,如下:

<?php
session_start();
if ($_SESSION[&#39;carts&#39;] == "") {
    $carts = array();
    array_push($carts, "0-0");
    $_SESSION[&#39;carts&#39;] = $carts;
}
$method = $_GET[&#39;method&#39;];
if ($method == "add") {
    $productId = $_GET[&#39;productid&#39;];
    $number = $_GET[&#39;number&#39;];
    $carts = $_SESSION[&#39;carts&#39;];
    $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[&#39;carts&#39;] = $carts;
}
if ($method == "delete") {
    $productId = $_GET[&#39;productid&#39;];
    $carts = $_SESSION[&#39;carts&#39;];
    for ($i = 0; $i < sizeof($carts); $i++) {
        $pn = $carts[$i];
        $pns = split("-", $pn);
        if ($pns[0] == $productId) {
            unset($carts[$i]);
        }
    }
    $_SESSION[&#39;carts&#39;] = $carts;
}
?>

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

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

<?php
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;
    }
}
?>

数据库连接代码:

<?php
include_once &#39;DbConfig.php&#39;;
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(&#39;找不到指定的数据库&#39;);
    }
}
/** 
 * 设置字符集
 * Enter description here ...
 */
function _set_names() {
    if (!mysql_query(&#39;set names utf8&#39;)) {
        exit(&#39;字符集错误&#39;);
    }
}
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(&#39;关闭异常&#39;);
    }
}


文章地址:

转载随意^^请带上本文地址!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。