2

我的页面上有 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

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

祝你今天过得愉快

4

3 回答 3

3

在前端显示它们已选中

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

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

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

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

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

希望这会有所帮助

于 2013-01-29T12:40:12.997 回答
0
How can i show checked options?

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

how should i update options?

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

于 2013-01-29T12:36:06.393 回答
0

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

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

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

<input type="checkbox" name="options[]" value="<?= ($row['State] ? "checked": "unchecked") ?>"/>

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

于 2013-01-29T12:38:07.187 回答