Comment PHP gère-t-il l'affichage bidimensionnel et la soumission des couleurs et des tailles dans la gestion des produits ?
P粉529965851
P粉529965851 2023-06-12 12:01:22
0
1
687

Chers amis, j'ai récemment rencontré un problème avec les attributs de couleur et de taille d'un produit. Par exemple, un produit a deux couleurs et trois tailles

Le produit A a un design de couleur [noir, blanc] et un design de taille [S. , M, L]

Je souhaite cliquer sur la liste des produits pour accéder à la page de détails du produit, saisir la quantité de chaque SKU commandé, puis enregistrer et soumettre à la base de données. Comme indiqué ci-dessous, pouvez-vous me donner quelques idées ? La couleur et la taille de chaque produit ne sont pas fixes. Les informations de couleur et de taille sont récupérées de la base de données et affichées dans un en-tête non tabulé.

1.png

P粉529965851
P粉529965851

répondre à tous(1)
WBOY
<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>

Utilisez la balise `<input>` pour créer la zone de saisie et utilisez l'attribut `name` pour identifier les différents SKU. Par exemple,

<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>

utilise PHP pour traiter les données du formulaire et les enregistrer dans la base de données. Vous pouvez utiliser la variable superglobale `$_POST` pour obtenir les données du formulaire et les insérer dans la base de données à l'aide d'instructions SQL telles que

<?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();
}
?>

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal