【问题标题】:how to insert multiple checked items to mysql table?如何将多个选中项插入到 mysql 表中?
【发布时间】:2014-04-05 20:17:47
【问题描述】:

我正在处理一个电子商店项目,我在添加新产品时遇到了一些问题。 这涉及三个表:

  • 产品:p_id、名称、价格
  • 属性:a_id、名称(产品属性,例如颜色、品牌等)
  • product_attribute:id、p_id、a_id、值、 (此处的值例如属性颜色为白色)

要添加新产品,我的 html 表单显示: 1. 名称和价格的文本字段 2. 一个复选框列表,显示所有属性以及用于输入其值的文本字段。

但我很困惑如何在数据库中插入这些信息。

代码如下:

           $qry = "select att_name from attribute";
           $res = mysql_query($qry);
           while($row=mysql_fetch_array($res))
         {
           ?>

                <tr>
               <td width="136" nowrap="nowrap" class="gridLabels1">
               <input type="checkbox" name="chk_group[]" value='$row' /><?php echo $row['att_name'];?> <br /></td> // checkbox list of all attributes
               <td width="740" class="gridValue1">
               <input name="value" type="text" class="inputText" id="value" size="29"/> </td> // text fields to enter value
           </tr>
           <?php
         }
         ?>

【问题讨论】:

  • 向数据库插入数据的第一步是有一个 INSERT 语句。其次,您应该指定您使用的数据库。三、查这个问题,可能对stackoverflow.com/questions/5081360/…有帮助

标签: php html checkboxlist


【解决方案1】:

首先我会建议你在复选框的值中使用属性的 id。

您可以使用implode函数在数据库中插入属性,值会以逗号分隔。

因为您已经定义了数组而不是使用内爆,例如: 假设你的数组值:

$all_atributes=implode(",",$_POST['chk_group']);
$all_atributes//will output selected ids id1,id4,id5 

并使用这个 $all_attributes 插入到数据库中。

【讨论】:

  • 我应该单独列出所有 value = their id 的属性?
  • 在复选框中显示属性的名称,并在发布时发送属性的 id 值。
  • 如果用户添加了新产品,例如命名笔记本电脑价格 123 并检查其品牌属性并在其前面的文本字段中填写“戴尔”。如何在我的表 product_attribute 中插入这些数据??
  • 您的 product_attribute 应该已经填写了属性的名称,并且当用户输入产品时,所有属性的列表应该带有复选框。
猜你喜欢
  • 1970-01-01
  • 2018-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多