各位大大,最近遇到一個商品顏色尺寸屬性的問題,例如一個商品有兩個顏色和三個尺碼,
商品A 顏色有設計【黑色,白色】,尺寸有設計【 S,M,L】
想透過點擊商品清單來到商品詳情頁面輸入訂購的每個sku的數量,然後儲存提交到資料庫。如下圖的效果,大家能給點思路嗎?其中每個商品的顏色和尺寸不固定,顏色、尺寸資訊都是透過資料庫取出後展示未表格的抬頭。
<table> <thead> <tr> <th>商品名称</th> <?php // 从数据库中获取颜色信息 $colors = ['黑色', '白色']; // 从数据库中获取尺码信息 $sizes = ['S', 'M', 'L']; // 动态生成表头 foreach ($colors as $color) { foreach ($sizes as $size) { echo "<th>{$color} - {$size}</th>"; } } ?> </tr> </thead> <tbody> <!-- 商品列表数据 --> </tbody> </table>
用`<input>`標籤來建立輸入框,並使用`name`屬性來識別不同的SKU。例如
<tbody> <?php // 从数据库中获取商品列表数据 $products = [ ['name' => '商品A', 'sku' => 'A001'], ['name' => '商品B', 'sku' => 'B001'], // 其他商品数据... ]; // 遍历商品列表 foreach ($products as $product) { echo "<tr>"; echo "<td>{$product['name']}</td>"; // 为每个SKU创建输入框 foreach ($colors as $color) { foreach ($sizes as $size) { $sku = "{$product['sku']}_{$color}_{$size}"; echo "<td><input type='number' name='{$sku}'></td>"; } } echo "</tr>"; } ?> </tbody>
用PHP來處理表單數據,並將其儲存到資料庫中。你可以使用`$_POST`超全域變數來取得表單數據,並使用SQL語句將其插入資料庫例如
<?php // 处理表单提交 if ($_SERVER['REQUEST_METHOD'] === 'POST') { // 连接数据库 $conn = new mysqli('localhost', 'username', 'password', 'database'); // 检查连接是否成功 if ($conn->connect_error) { die('数据库连接失败:' . $conn->connect_error); } // 遍历表单数据 foreach ($_POST as $sku => $quantity) { // 将SKU拆分为颜色和尺码 $parts = explode('_', $sku); $color = $parts[1]; $size = $parts[2]; // 使用SQL语句将数据插入数据库 $sql = "INSERT INTO orders (sku, color, size, quantity) VALUES ('$sku', '$color', '$size', '$quantity')"; $result = $conn->query($sql); // 检查插入是否成功 if (!$result) { echo "插入数据失败:{$conn->error}"; } } // 关闭数据库连接 $conn->close(); } ?>
用`<input>`標籤來建立輸入框,並使用`name`屬性來識別不同的SKU。例如
用PHP來處理表單數據,並將其儲存到資料庫中。你可以使用`$_POST`超全域變數來取得表單數據,並使用SQL語句將其插入資料庫例如
#