Heim > php教程 > php手册 > php实现购物车程序代码

php实现购物车程序代码

WBOY
Freigeben: 2016-05-25 16:40:25
Original
1608 Leute haben es durchsucht

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

例子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;
}
?>
Nach dem Login kopieren

上面电子商务课程的时候做的一个简单的程序了,就是一个在线购物,不过还是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;
    }
}
?>
Nach dem Login kopieren

数据库连接代码:

<?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;);
    }
}
Nach dem Login kopieren


文章地址:

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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage