在电子商务中,SKU(Stock Keeping Unit)是指库存量单位,用于标识和管理具体的商品。商城的SKU功能可以让商家更好地管理商品的库存和销售情况,方便客户选择和购买商品。本文将通过一个简单的PHP示例,演示如何实现商城SKU功能。
首先,我们需要创建两个数据表:一个用于存储商品信息,另一个用于存储SKU信息。
CREATE TABLE `products` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(255) NOT NULL, `price` DECIMAL(10,2) NOT NULL, `description` TEXT, PRIMARY KEY (`id`) );
CREATE TABLE `skus` ( `id` int(11) NOT NULL AUTO_INCREMENT, `product_id` int(11) NOT NULL, `size` VARCHAR(50) NOT NULL, `color` VARCHAR(50) NOT NULL, `stock` int(11) NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (`product_id`) REFERENCES `products`(`id`) ON DELETE CASCADE );
接下来,我们将展示如何使用PHP代码连接数据库并操作SKU相关功能。
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "database"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } ?>
function getProducts() { global $conn; $sql = "SELECT * FROM products"; $result = $conn->query($sql); if ($result->num_rows > 0) { $products = array(); while($row = $result->fetch_assoc()) { $products[] = $row; } return $products; } else { return null; } }
function getSkusByProduct($product_id) { global $conn; $sql = "SELECT * FROM skus WHERE product_id = $product_id"; $result = $conn->query($sql); if ($result->num_rows > 0) { $skus = array(); while($row = $result->fetch_assoc()) { $skus[] = $row; } return $skus; } else { return null; } }
function updateStock($sku_id, $quantity) { global $conn; $sql = "UPDATE skus SET stock = stock - $quantity WHERE id = $sku_id"; $conn->query($sql); }
function addSku($product_id, $size, $color, $stock) { global $conn; $sql = "INSERT INTO skus (product_id, size, color, stock) VALUES ($product_id, '$size', '$color', $stock)"; $conn->query($sql); }
通过以上代码示例,我们展示了如何使用PHP实现商城SKU功能。开发者可以根据实际需求进一步扩展和优化。希望这个例子能帮助你理解如何通过PHP高效管理商城商品库存。