PHP開發教學:從零開始實作商品多規格SKU功能
導語:商品多規格SKU功能是電商平台中非常常見且不可或缺的功能之一。本文將透過程式碼範例,教你如何從零開始實現商品多規格SKU功能。
一、準備工作
在開始實作之前,我們需要做一些準備工作。
二、建立資料庫表
在這個實例中,我們建立三個表:商品表(product)、規格表(specification)和商品規格SKU表(product_sku) 。先來看看表格結構:
-- 商品表(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;
三、寫程式
<?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(); }
四、使用範例
下面是一個簡單的例子,示範如何使用上述程式碼建立一個商品,並且加入多個規格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);
五、總結
本文中,我們透過程式碼範例,實現了商品多規格SKU功能的建立和使用,並且為後續擴展提供了一定的基礎。當然,實際專案中可能還涉及更多複雜的操作,例如修改規格、刪除規格等等,讀者可以在此基礎上繼續擴展。
希望本文對你理解商品多規格SKU功能有所幫助。謝謝閱讀!
以上是PHP開發教學:從零開始實作商品多規格SKU功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!