PHP에서 제품의 다중 사양 SKU 데이터베이스 디자인을 구현하는 방법
전자상거래 플랫폼에서 제품 사양은 매우 중요한 개념입니다. 제품 사양은 크기, 색상, 무게 등과 같은 제품의 다양한 속성과 특성으로 이해될 수 있습니다. 실제 적용에서는 다양한 사양에 대해 각 조합에 대해 서로 다른 가격, 재고, 사진 및 기타 정보를 설정해야 하는 경우가 많습니다. 이를 위해서는 제품 사양 및 관련 정보를 저장하고 관리하기 위한 적절한 데이터베이스 구조를 설계해야 합니다.
이 글에서는 PHP에서 여러 제품 사양 SKU의 데이터베이스 디자인을 구현하는 방법을 소개하고 코드 예제를 제공합니다.
1. 데이터 테이블 디자인
제품 사양 및 관련 정보를 저장하려면 제품 테이블과 사양 테이블이라는 두 가지 주요 데이터 테이블을 디자인해야 합니다.
제품 테이블(products) : 제품명, 설명, 가격 등 제품의 기본 정보를 저장합니다.
사양: 크기, 색상, 무게 등 제품 사양 정보를 저장합니다.
다음은 제품 테이블과 사양 테이블의 샘플 코드입니다.
CREATE TABLE `products` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `description` text NOT NULL, `price` decimal(10,2) NOT NULL, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `specifications` ( `id` int(11) NOT NULL AUTO_INCREMENT, `product_id` int(11) NOT NULL, `name` varchar(255) NOT NULL, `value` varchar(255) NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (`product_id`) REFERENCES `products`(`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
사양 테이블에서 product_id
字段是一个外键,关联到商品表中的id
필드는 제품과 사양 간의 연관성을 구현합니다.
2. 데이터 삽입 및 쿼리
제품 사양 데이터를 삽입하고 쿼리하는 방법을 설명하기 위해 크기와 색상이라는 두 가지 사양을 가진 "휴대폰"이라는 제품이 있다고 가정합니다.
먼저 제품의 기본 정보를 삽입해야 합니다:
INSERT INTO `products` (`name`, `description`, `price`, `created_at`, `updated_at`) VALUES ('手机', '这是一款智能手机', 1999.00, NOW(), NOW());
그런 다음 제품의 사양 정보를 삽입합니다.
INSERT INTO `specifications` (`product_id`, `name`, `value`) VALUES (1, '尺寸', '6寸'); INSERT INTO `specifications` (`product_id`, `name`, `value`) VALUES (1, '颜色', '黑色'); INSERT INTO `specifications` (`product_id`, `name`, `value`) VALUES (1, '颜色', '白色');
위 코드를 통해 휴대폰 제품의 사양 정보를 성공적으로 삽입했습니다. 데이터 베이스.
제품 사양 정보를 쿼리하기 위해 SQL 문과 PHP 코드를 사용하여 이를 달성할 수 있습니다. 다음은 간단한 쿼리 예시입니다.
SELECT p.name, p.price, s.name, s.value FROM products p JOIN specifications s ON p.id = s.product_id WHERE p.id = 1;
위 쿼리를 통해 제품명, 가격, 해당 사양명 및 값을 얻을 수 있습니다.
3. 제품 사양의 동적 표시
실제 애플리케이션에서는 일반적으로 제품 사양과 관련 가격, 재고 및 기타 정보를 동적으로 표시해야 합니다. 이를 달성하기 위해 PHP와 JavaScript를 사용하여 이를 수행할 수 있습니다.
프런트 엔드 페이지에서는 드롭다운 상자, 라디오 상자 또는 확인란과 같은 컨트롤을 사용하여 제품 사양 옵션을 표시할 수 있습니다. 사용자가 다양한 사양 옵션을 선택하면 Ajax 비동기 요청을 통해 백엔드 서비스에 요청을 보내고 데이터베이스에서 해당 가격 및 재고 정보를 쿼리하여 실시간으로 표시할 수 있습니다.
다음은 제품 사양 옵션의 동적 표시를 구현하는 간단한 JavaScript 샘플 코드입니다.
$(document).ready(function() { $('#specification-select').on('change', function() { var productId = $(this).val(); $.ajax({ url: 'getProductInfo.php', type: 'POST', data: {productId: productId}, success: function(response) { var productInfo = JSON.parse(response); $('#price').text(productInfo.price); $('#stock').text(productInfo.stock); } }); }); });
백엔드 PHP 코드에서는 수신된 제품 ID를 기반으로 데이터베이스에서 해당 사양 정보를 쿼리하고 디스플레이를 반환할 수 있습니다. 프론트엔드 페이지.
$productId = $_POST['productId']; // 查询规格信息 $query = "SELECT name, value FROM specifications WHERE product_id = :productId"; $stmt = $pdo->prepare($query); $stmt->bindParam(':productId', $productId, PDO::PARAM_INT); $stmt->execute(); $specifications = $stmt->fetchAll(PDO::FETCH_ASSOC); // 查询价格和库存信息 $query = "SELECT price, stock FROM products WHERE id = :productId"; $stmt = $pdo->prepare($query); $stmt->bindParam(':productId', $productId, PDO::PARAM_INT); $stmt->execute(); $productInfo = $stmt->fetch(PDO::FETCH_ASSOC); $response = array( 'specifications' => $specifications, 'price' => $productInfo['price'], 'stock' => $productInfo['stock'] ); echo json_encode($response);
위 코드를 통해 제품 다중 사양 SKU의 데이터베이스 디자인을 구현했으며, 제품 사양 정보를 삽입 및 조회하는 방법과 프런트 엔드 페이지를 통해 제품 사양 정보를 동적으로 표시하는 방법을 시연했습니다.
물론 이는 단순한 예일 뿐이며 실제 적용은 더 복잡할 수 있습니다. 이 기사가 PHP에서 여러 제품 사양 SKU를 구현해야 하는 개발자에게 도움이 되기를 바랍니다.
위 내용은 PHP에서 제품의 다중 사양 SKU에 대한 데이터베이스 디자인을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!