PHP を使用して製品のマルチ仕様 SKU 機能を実装する方法
マルチ仕様の製品 SKU は、電子商取引プラットフォーム上の共通の製品属性設定であり、販売者はこれを使用して次のことを行うことができます。消費者のさまざまなニーズや好みに合わせて、同じ製品を異なる仕様と価格で設定します。この記事では、PHP を使用して製品のマルチ仕様 SKU 機能を実装する方法と、対応するコード例を紹介します。困っている読者のお役に立てれば幸いです。
1. データ構造設計
製品のマルチスペックSKU機能を実装する前に、まずデータベースのデータ構造を設計する必要があります。製品に色、サイズ、価格の 3 つの仕様があるとします。まず、2 つのデータベース テーブルを作成する必要があります。1 つは仕様の属性情報を格納するため、もう 1 つは SKU 情報を格納するためです。
仕様属性テーブル (属性)
CREATE TABLE attributes
( id
int(11) NOT NULL AUTO_INCREMENT, name
varchar(255) NOT NULL, PRIMARY KEY (id
) );
SKU 情報テーブル(skus)
CREATE TABLE skus
( id
int(11) NOT NULL AUTO_INCREMENT, attribute_id
int(11) NOT NULL, value
varchar(255) NOT NULL, price
10,2) NOT NULL, 主キー (id
), 外部キー (attribute_id
) 参照 attributes
(id
) ON DELETE CASCADE );
2. バックエンド管理ページ
仕様属性リストの表示
まず、バックエンド管理で仕様属性リストを表示する必要があります。販売者向けのページでは、仕様属性を追加および編集します。
//データベースに接続します $conn = new mysqli("localhost", "username", "password", "database");
# #/ / クエリ仕様属性リスト
$query = "SELECT * FROM 属性"; $result = $conn->query($query); ?>gt;
< ;! -- 仕様属性リスト -->
仕様属性の追加と編集
販売者が仕様属性を追加または編集する必要がある場合、記入してデータベースに保存するための対応するフォームが提供されます。
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// フォーム送信を処理します
$name = $_POST['name' ];
//仕様属性をデータベースに保存
$query = "INSERT INTO 属性 ( name) VALUES ('{$name}')";
$ conn ->query($query); } ?>
SKU 情報の表示
バックグラウンド管理ページでは、次の操作を行う必要があります。販売者が SKU 情報を追加および編集できるように、SKU 情報リストを表示します。
// SKU 情報リストのクエリ
$query = "SELECT skus.*,attributes.name asattribute FROM skus JOIN 属性 ON skus.attribute_id =attribute.id";
$result = $conn->query($query);
?>
仕様の属性
仕様値
###価格###
fetch_assoc()): ?>
SKU 情報の追加と編集
販売者が SKU 情報を追加または編集する必要がある場合、入力してデータベースに保存するための対応するフォームが提供されます。
if ($_SERVER['REQUEST_METHOD'] === 'POST') { // フォーム送信を処理します $attributeId = $_POST['attribute_id' ]; $value = $_POST['value']; $price = $_POST['price'];
// SKU 情報をデータベースに保存します $query = " INSERT INTO skus (attribute_id
, value
, price
) VALUES ('{$attributeId}', '{$value}', '{$price}) ' )"; $conn->query($query); } ?>
< ;form method="POST" action=""> 仕様属性
<option value="" disabled selected>请选择规格属性</option>
<?php
// 查询规格属性列表
$query = "SELECT * FROM attributes";
$result = $conn->query($query);
while ($row = $result->fetch_assoc()):
?>
<option value="<?php echo $row['id']; ?>"><?php echo $row['name']; ?></option>
<?php endwhile; ?> ログイン後にコピー
仕様値 < label for="price">価格 保存 button>
3. フロントエンド製品詳細ページ
フロントエンド製品詳細ページでは、製品の仕様属性と SKU 情報を表示する必要があります。選択仕様属性と対応する SKU 情報関数を提供します。
仕様属性と SKU 情報の表示 // クエリ仕様属性リスト $query = "SELECT * FROM 属性"; $result = $conn->query($query); ?>
<オプション値="0">仕様属性を選択してください fetch_assoc( )): ?>
<script><br>$(document).ready(function() {<br> // 仕様属性の選択イベントのリッスン<br> $('#attribute').change(function() {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>var attributeId = $(this).val();
$.ajax({
url: 'get_sku_info.php',
method: 'POST',
dataType: 'json',
data: {attributeId: attributeId},
success: function(data) {
// 清空SKU信息显示区域
$('#sku-info').empty();
// 根据返回的SKU信息动态添加到显示区域
$.each(data, function(index, item) {
var skuHtml = '<div>';
skuHtml += '<span>' + item.attribute + ': ' + item.value + '</span>';
skuHtml += '<span>价格: ' + item.price + '</span>';
skuHtml += '</div>';
$('#sku-info').append(skuHtml);
});
}
});</pre><div class="contentsignin">ログイン後にコピー</div></div><p>});<br>});<br></script>
SKU 情報の取得 フロント ページでは、Ajax を使用してバックエンド インターフェイスにリクエストし、対応する仕様属性で SKU 情報を取得する必要があります。
if ($_SERVER['REQUEST_METHOD'] === 'POST') { $attributeId = $_POST['attributeId'];
// 対応する仕様属性の SKU 情報をクエリします。 $query = "SELECT skus.*,attribute.name asattribute FROM skus JOIN 属性 ON skus.attribute_id =attribute_id WHERE skus.attribute_id = '{$attributeId} ' "; $result = $conn->query($query);
$skus = []; while ($row = $result->fetch_assoc()) {
}
echo json_encode($skus); } ?>
IV. 概要
この記事では、その方法を紹介します。 PHPを使用すると、複数の仕様の製品のSKU機能が実装されます。データベースのデータ構造を設計し、バックエンド管理ページとフロントエンド商品詳細ページを開発することで、販売者が仕様属性やSKU情報を柔軟に追加および編集できるようにし、消費者が仕様属性に基づいて対応するSKUを選択できるようにします。仕様の属性。この記事が、e コマース プラットフォームを開発している読者にインスピレーションを与え、役立つことを願っています。
以上がPHP を使用して製品のマルチスペック SKU 機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。