如何在php中使用checkbox其他选项将记录插入数据库?

时间:2015-07-14 07:26:17

标签: php mysql echo

我有这样的形式:

enter image description here

我真的很困惑如何将它全部放入数据库中。我有这样的代码:

echo "<form action='insert.php'>";
  $data = array("rice","fish","pizza","other");
  for($i=1; $i<5; $i++){
     echo "<input type='text' name='food[]' value='$i' class='food'><label>$data[$i]</label>";
  }
  echo "<input type='submit' value='ok'>";
echo "</form>";
<script>
    $(".food").change(function () {
        if (this.checked && this.value=='4') {
            $(this).next("label").after("<p id='other-text'><input placeholder='please enter food' type='text' name='otherfood[]' /></p>")
        } else {
            $("#other-text").remove();
        }
    });
</script>

数据库:

order
id   id_food  other
----------------------
1       4      soup

你能帮我解决一下这样的数据库tabel顺序吗?

1 个答案:

答案 0 :(得分:0)

order
id   id_food  other
----------------------
1       4      soup

我认为存储这样的数据不是一个好主意。如果您确实需要将id_food = 4(引用'other')与'soup'一起存储,我建议按以下方式自定义食物查找表:

food
id   name  is_other
----------------------
1    pizza 0
5    soup  1

修改订单表如下

order
id   id_food  other_id
----------------------
1       4      5

这样,您可以通过检查other textboxfood中提供的文本是否存在于id_food表中,以及是否确实选择food_id并插入{来保持数据完整性并保持表格大小最佳在order表格中{1}}。

如果您不希望手动输入data在表单上显示

,您仍然可以使用以下条件过滤复选框
select id,name from food where is_other = 0

由于您现在在soup表格中有数据food,因此您可以将其与其他食物选项一起列为checkbox

这是一种选择,我确信其他用户会提供不同的方法。