Tutoriel de développement PHP : Implémenter la fonction SKU multi-spécifications des produits à partir de zéro
Introduction : La fonction SKU multi-spécifications des produits est l'une des fonctions très courantes et essentielles des plateformes de commerce électronique. Cet article utilisera des exemples de code pour vous apprendre à implémenter la fonction SKU multi-spécifications des produits à partir de zéro.
1. Préparation
Avant de commencer la mise en œuvre, nous devons faire quelques préparatifs.
2. Créer des tables de base de données
Dans cet exemple, nous créons trois tables : la table des produits (product), la table des spécifications (spécification) et la table SKU des spécifications du produit (product_sku). Jetons d'abord un coup d'œil à la structure du tableau :
-- 商品表(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. Écrivez le code
<?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. Exemples d'utilisation
Ce qui suit est un exemple simple qui montre comment utiliser le code ci-dessus pour créer un produit et ajouter plusieurs spécifications 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. Résumé
Dans cet article, nous avons implémenté la création et l'utilisation de fonctions SKU multi-spécifications à travers des exemples de code, et avons fourni une certaine base pour une expansion ultérieure. Bien entendu, les projets réels peuvent impliquer des opérations plus complexes, telles que la modification des spécifications, la suppression des spécifications, etc., et les lecteurs peuvent continuer à se développer sur cette base.
J'espère que cet article vous aidera à comprendre la fonction SKU multi-spécifications du produit. Merci d'avoir lu!
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!