>  Q&A  >  본문

PHP는 제품 관리에서 2차원 표시와 색상 및 크기 제출을 어떻게 처리합니까?

안녕하세요, 최근 상품의 색상 및 사이즈 속성에 문제가 생겼습니다. 예를 들어, 상품에 색상이 2개, 사이즈가 3개 있습니다.

A상품에는 컬러 디자인이 [블랙, 화이트]이고 사이즈 디자인이 [S]입니다. , M, L]

상품 목록을 클릭하여 상품 상세 페이지로 이동하여 주문한 SKU별 수량을 입력한 후 저장하고 데이터베이스에 제출하고 싶습니다. 아래와 같이 몇 가지 아이디어를 주실 수 있나요? 각 제품의 색상 및 사이즈는 고정되어 있지 않습니다. 색상 및 사이즈 정보는 데이터베이스에서 검색되어 표에 없는 헤더에 표시됩니다.

1.png

P粉529965851P粉529965851515일 전631

모든 응답(1)나는 대답할 것이다

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

    ``<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` 슈퍼전역 변수를 사용하면 양식 데이터를 가져오고

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

    와 같은 SQL 문을 사용하여 데이터베이스에 삽입할 수 있습니다.

    회신하다
    0
  • 취소회신하다