Cara menggunakan PHP untuk melaksanakan fungsi SKU berbilang spesifikasi untuk produk
SKU berbilang spesifikasi untuk produk ialah tetapan atribut produk biasa pada platform e-dagang. Ia membolehkan pedagang menetapkan spesifikasi dan harga yang berbeza untuk produk yang sama untuk memenuhi keperluan pengguna yang berbeza berdasarkan keperluan dan pilihan. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi SKU berbilang spesifikasi produk dan menyediakan contoh kod yang sepadan. Semoga dapat membantu pembaca yang memerlukan.
1. Reka bentuk struktur data
Sebelum melaksanakan fungsi SKU pelbagai spesifikasi produk, kita perlu mereka bentuk struktur data pangkalan data terlebih dahulu. Katakan produk mempunyai tiga spesifikasi: warna, saiz dan harga. Pertama, kita perlu mencipta dua jadual pangkalan data, satu untuk menyimpan maklumat atribut spesifikasi dan satu untuk menyimpan maklumat SKU.
CIPTA JADUAL attributes
(
id
int(11) NOT NULL AUTO_INCREMENT,
name
varchar(255) NOT NULL,
PRIMARY KEY (id
)
);
CREATE TABLE skus
(
id
int(11) NOT NULL AUTO_INCREMENT,
attribute_id
int(11) NOT NULL,
value
varchar(255) NOT NULL,
price
decimal(10,2) NOT NULL,
PRIMARY KEY (id
),
FOREIGN KEY (attribute_id
)
REFERENCES attributes
(id
)
ON DELETE CASCADE
);
二、后台管理页面
首先,我们需要在后台管理页面展示规格属性列表,供商家添加和编辑规格属性。
// 连接数据库
$conn = new mysqli("localhost", "username", "password", "database");
// 查询规格属性列表
$query = "SELECT * FROM attributes";
$result = $conn->query($query);
?>
规格属性名称 |
---|
当商家需要添加或编辑规格属性时,我们提供相应的表单供其填写并保存到数据库。
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// 处理表单提交
$name = $_POST['name'];
// 保存规格属性到数据库
$query = "INSERT INTO attributes (name
KUNCI UTAMA (
);
jadual maklumat SKU (skus)
BUAT JADUAL
attribute_id
int(11) NOT NULL,
value
varchar(255) NOT NULL ,id
)ON DELETE CASCADE
);
2. Halaman pengurusan backend
Paparkan senarai atribut spesifikasi
$conn = new mysqli("localhost", "nama pengguna", "kata laluan", "pangkalan data"); | // Tanya senarai atribut spesifikasi | $query = "PILIH * DARI atribut";$result = $conn->query($query); | ?>
---|---|---|
Spesifikasi nama atribut |
Apabila peniaga perlu menambah atau mengedit maklumat SKU, kami menyediakan borang yang sepadan untuk mereka isi dan simpan ke pangkalan data.
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Proses penyerahan borang
$attributeId = $_POST['attribute_id'];
$value = $_POST[' value'];
$price = $_POST['price'];
// Simpan maklumat SKU ke pangkalan data
$query = "INSERT IN TO skus (attribute_id
, value
, price
) VALUES ('{$attributeId}', '{$value } ', '{$price}')";
$conn->query($query);
}
?>
<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; ?>
< for="value">Specification value
< ="text" name="price">
3 halaman butiran produk di kaunter hadapan
Butiran produk di meja depan Pada halaman, kita perlu memaparkan atribut spesifikasi dan maklumat SKU produk, dan menyediakan fungsi memilih atribut spesifikasi dan maklumat SKU yang sepadan.
// Senarai atribut spesifikasi pertanyaan
$query = "SELECT * FROM attributes";
$result = $conn->query($query);
?>
fetch_assoc()): ?>