Rumah  >  Soal Jawab  >  teks badan

Bagaimanakah PHP mengendalikan paparan dua dimensi dan penyerahan warna dan saiz dalam pengurusan produk?

Rakan-rakan yang dihormati, saya baru-baru ini menghadapi masalah dengan atribut warna dan saiz produk Sebagai contoh, produk mempunyai dua warna dan tiga saiz

Produk A mempunyai reka bentuk warna [hitam, putih] dan reka bentuk saiz [S , M, L]

Nak klik pada senarai produk untuk ke halaman detail produk, masukkan kuantiti setiap sku yang ditempah, dan kemudian simpan dan hantar ke pangkalan data. Seperti yang ditunjukkan di bawah, bolehkah anda memberi saya beberapa idea? Warna dan saiz setiap produk tidak tetap Maklumat warna dan saiz diambil daripada pangkalan data dan dipaparkan dalam pengepala yang tidak dijadual.

1.png

P粉529965851P粉529965851515 hari yang lalu633

membalas semua(1)saya akan balas

  • WBOY

    WBOY2023-06-29 10:53:35

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

    Gunakan teg `<input>` untuk mencipta kotak input dan gunakan atribut `name` untuk mengenal pasti SKU yang berbeza. Contohnya,

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

    menggunakan PHP untuk memproses data borang dan menyimpannya ke pangkalan data. Anda boleh menggunakan pembolehubah superglobal `$_POST` untuk mendapatkan data borang dan memasukkannya ke dalam pangkalan data menggunakan pernyataan SQL seperti

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

    balas
    0
  • Batalbalas