• 技术文章 >后端开发 >php教程

    php简略 购物车~ 学习笔记part1

    2016-06-13 13:02:22原创295
    php简单 购物车~ 学习笔记part1
    购物车 ,学习 ,part1


    建表
    wrox_shop_category 产品类别ID 和名称

    create table wrox_shop_category (
    category_id integer unsigned not null auto_increment,
    category_name varchar(100) not null,
    primary key (category_id)
    )

    ENGINE= InnoDB default character set latinl
    collate latinl_general_cs;

    商品类别表
    wrox_shop_inventory

    create table wrox_shop_inventory (
    item_id integer unsigned not null auto_increment,
    item_name varchar(100) not null,
    item_description text default '',
    price double(5,2) not null,
    item_image varchar(255) not null,
    category_id integer unsigned not null,
    primary key (item_id),
    foreign key (category_id)
    references wrox_shop_category(category_id)
    on delete cascade
    )

    engine = InnoDB default character set latinl
    callate latinl_general_cs auto_increment=0;


    这两张表多指定InnoDB存储引擎,引用on delete cascade将类别删除后,商品也将自动删除.

    代码文件


    ShoppingCart类 ,该类如何编写,之后写shop.php和cart.php ,之后建立管理文件 生成商品数据库及商品条目

    ShoppingCart,负责维护商品列表直到结帐。


    包含属性:
    contents,以数组形式返回购物车中的所有商品
    isEmpty ,购物车是否是空
    totalItems,不同种类的商品的总数量
    totalQty 购物车中商品的总数量

    methods :
    construct()
    addItem(item[,qty])
    qtyItem(item)
    removeItem(item)
    removeAll()

    商品列表,保存商品列表需要用到一个私有属性,初始化时候,将该属性初始化为一个空数组,之后每添加一个商品,此数组负责保存用产品ID索引的商品的数量???


    class ShoppingCart
    {
    private $items;
    public function _construct()
    {
    $this->items = array();
    }

    public fuction _get($value)
    {
    switch($value)
    {
    case 'contents':
    return $this->items;
    break;
    case 'isEmpty':
    return (count($this->items) == 0 );
    break;
    case 'totalItems':
    return (count($this->items));
    break;

    case 'totalQty':
    return array_sum($this->items);
    break;

    }
    }

    public funciton addItem($item, $qty =1)
    {
    $this->items[$item] = $qty;
    } //addItem行数将接收商品的Id,并把该值赋值于内部的items属性

    public function qtyItem($item)
    {
    if (!isset($this->items[$item])
    {
    return 0;
    }
    else
    {
    return $this->items[$item];//返回了商品的数量
    }
    }

    public function removeItem($item)
    {
    unset($this ->items[$item]);
    }

    public function removeAll()
    {
    $this->items = array();
    }



    }

    ?>

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:nbsp item items category this
    上一篇: PHP 表单跟用户输入 下一篇: PHP框架YII札记之1
    Web大前端开发直播班

    相关文章推荐

    • PHP扩展迁移为兼容PHP7记录• CGI、FastCGI和php-fpm的区别• php学习之道:坑爹的file_exists• PHP学习18例• php dirname 路径

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网