我想将多个选择数据发送到同一列

时间:2019-02-28 15:39:24

标签: php

嘿,我想将不同的数据插入数据库中的同一列。让我们先看图片。用户是否可以check New Product?复选框。那么我希望它可以以product_label的值存储在数据库的new列中。现在,如果有人单击Product on Sale?复选框,那么我想将值sale发送到数据库列product_label。并且如果无法同时选中用户和用户这两个复选框,那么我想将null发送到数据库的product_label列。

enter image description here

现在这是该代码的HTML代码。我只显示HTML代码中的复选框,因为其余代码太长了。

<div class="col-md-4">
  <div class="form-group">
    <label for="Sale">New Product?</label>
        <input type="checkbox" id="new_product" name="new_product" class="checkbox checkboxsize">
    </div>
 </div>
   <div class="col-md-4">
      <div class="form-group">
       <label for="Sale">Product On Sale?</label>
          <input type="checkbox" id="sale" name="sale" class="checkbox checkboxsize">
        </div>
</div>

这是要插入的PHP代码。

    $new_product = $_POST['new_product'];
        $label = $_POST['sale']; 
        if($label==true)
            {
                 $label="sale";
            }
        else if($new_product==true){
                $new_product ="new";
        }
        else{

        }
$query = "INSERT INTO `products`(`product_title`, `product_img1`, `product_img2`, `product_img3`, `product_price`, `product_desc`, `product_keywords`,`product_size`, `product_color`,`product_label`) VALUES ('$product_category','$category','$title','$path1','$path2','$path3','$price','$description','$keywords','$product_size','$product_color','$label')";

现在我在这里停留在这段代码上。我不知道如何获取这些值并将其插入到同一列product_label

2 个答案:

答案 0 :(得分:0)

如果未选中复选框,则$ _POST数组中的输入名称不存在,则必须使用isset()。

所以尝试这个:

<?php

if(isset($_POST['sale']))
{
    $label = "sale";
}
else if(isset($_POST['new_product'])) {
    $label = "new";
}
else{
    $label = '';
}

答案 1 :(得分:0)

我将在您的表中创建两列isNew和isSale并将它们都设置为boolean,默认情况下为false。

$isNew = isset($_POST['new_product']) ? 1 : 0;
$isSale = isset($_POST['sale']) ? 1 : 0;

INSERT INTO {table} ... (isNew,isSale) VALUES ($isNew,$isSale);