【问题标题】:How to show checkboxes checked and update database如何显示选中的复选框并更新数据库
【发布时间】:2013-01-29 12:23:44
【问题描述】:

我的页面上有 80 个复选框;这些复选框属于产品的一些选项..

我是这样存储的

<input type="checkbox" name="options[]" value="<?php echo $row['value]?>"/>

数据库结构

**Product_id** | **Option_id**
     1                 16
     1                 45
     1                 68
     1                 78
     1                 80

问题是,我应该如何更新选项?当用户去更新页面时,用户应该能够看到选中的选项和未选中的选项。我怎样才能显示选中的选项?

我也将选项值存储在数据库中,就像这样

**id** | **Option_id** |
   1         16
   2         45
   3         68
   4         78      
   ....
   ....
   80

非常感谢您的帮助,对不起我的英语..

祝你有美好的一天

【问题讨论】:

  • 您想知道如何显示它们已选中或如何存储已选中或如何根据已选中更新它们?
  • 我想知道如何在更新页面上显示它们已选中,然后用新的选中或未选中值更新 mysql 表

标签: php mysql sql-update checkbox


【解决方案1】:

在前端显示它们已选中

假设您在名为$checked 的数组中拥有产品选项的结果

在循环检查以打印它们时使用此

<input type="checkbox" name="options[]" value="<?php echo $row['value']?>" <?php if(in_array($row['value'], $checked)){ echo 'checked="checked"'; }?>/>

更新有很多方法,最简单的一种是

删除所有选项,然后添加新选中的选项

希望对你有帮助

【讨论】:

  • 对不起,我迟到了,但不应该像这样的代码 />
  • if 条件后缺少一个")"。
【解决方案2】:
How can i show checked options?

您可以使用checked="checked" 属性来选中复选框。

how should i update options?

假设您更新了属于产品 1 的选项。您需要做的是删除现有选项并重新插入新选项。

【讨论】:

    【解决方案3】:

    你应该使用这样的数据库结构

    **User_id** | **Product_id** | **Option_id** | **State**

    用于存储选项值(因为每个选项都与特定用户和产品相关联), 并在呈现复选框时使用数据库中的复选框状态值:

    &lt;input type="checkbox" name="options[]" value="&lt;?= ($row['State] ? "checked": "unchecked") ?&gt;"/&gt;

    数据库更新是指通过在复选框更改事件上发送 AJAX 请求,或在整个表单提交后发送 POST 请求,根据复选框的实际状态执行服务器端 UPDATE 查询。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-22
      • 2019-11-10
      • 1970-01-01
      • 1970-01-01
      • 2014-07-09
      • 2016-05-16
      • 1970-01-01
      相关资源
      最近更新 更多