PHP 開発チュートリアル: 製品の複数仕様 SKU 機能をゼロから実装する
はじめに: 製品の複数仕様 SKU 機能は、電子機器では非常に一般的であり、不可欠です。コマースプラットフォーム機能の一つ。この記事では、コード例を使用して、製品のマルチ仕様 SKU 機能を最初から実装する方法を説明します。
1. 準備作業
実装を開始する前に、いくつかの準備作業を行う必要があります。
2. データベース テーブルの作成
この例では、製品テーブル (product)、仕様テーブル (仕様)、製品仕様 SKU テーブル (product_sku) の 3 つのテーブルを作成します。まずはテーブル構造を見てみましょう:
-- 商品表(product) CREATE TABLE `product` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL DEFAULT '', `create_time` int(11) unsigned DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 规格表(specification) CREATE TABLE `specification` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- 商品规格SKU表(product_sku) CREATE TABLE `product_sku` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `product_id` int(11) unsigned NOT NULL DEFAULT '0', `specification_id` int(11) unsigned NOT NULL DEFAULT '0', `value` varchar(255) NOT NULL DEFAULT '', `price` decimal(10,2) unsigned NOT NULL DEFAULT '0.00', `stock` int(11) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `product_id` (`product_id`), KEY `specification_id` (`specification_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3. コードを書く
<?php // 创建商品 function createProduct($name) { $db = getDB(); $createTime = time(); $sql = "INSERT INTO `product` (`name`, `create_time`) VALUES (:name, :createTime)"; $statement = $db->prepare($sql); $statement->bindValue(':name', $name); $statement->bindValue(':createTime', $createTime); $statement->execute(); return $db->lastInsertId(); }
<?php // 创建规格 function createSpecification($name) { $db = getDB(); $sql = "INSERT INTO `specification` (`name`) VALUES (:name)"; $statement = $db->prepare($sql); $statement->bindValue(':name', $name); $statement->execute(); return $db->lastInsertId(); }
<?php // 创建商品规格SKU function createProductSku($productId, $specificationId, $value, $price, $stock) { $db = getDB(); $sql = "INSERT INTO `product_sku` (`product_id`, `specification_id`, `value`, `price`, `stock`) VALUES (:productId, :specificationId, :value, :price, :stock)"; $statement = $db->prepare($sql); $statement->bindValue(':productId', $productId); $statement->bindValue(':specificationId', $specificationId); $statement->bindValue(':value', $value); $statement->bindValue(':price', $price); $statement->bindValue(':stock', $stock); $statement->execute(); }
4 の作成使用例
以下は、上記のコードを使用して製品仕様を作成する方法を示す簡単な例です。 1 つの製品に複数の仕様の SKU を追加します。
<?php // 创建商品 $productId = createProduct('苹果手机'); // 创建规格 $colorId = createSpecification('颜色'); $capacityId = createSpecification('容量'); // 创建商品规格SKU createProductSku($productId, $colorId, '红色', 5999.00, 10); createProductSku($productId, $colorId, '黑色', 5999.00, 5); createProductSku($productId, $capacityId, '64GB', 5999.00, 3); createProductSku($productId, $capacityId, '128GB', 6999.00, 8);
5. 概要
この記事では、コード例を使用して、製品の複数仕様の SKU 機能の作成と使用を実現し、その後の拡張のための一定の基盤を提供します。もちろん、実際のプロジェクトでは、仕様の変更、仕様の削除など、より複雑な操作が必要になる場合があり、読者はこれに基づいて拡張を続けることができます。
この記事が、製品のマルチスペック SKU 機能を理解するのに役立つことを願っています。読んでくれてありがとう!
以上がPHP 開発チュートリアル: 製品の複数仕様の SKU 関数を最初から実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。