如何发送表格数组复选框

时间:2018-04-08 17:37:17

标签: javascript php laravel

我是新手,我遇到了以下问题。

checkbox Table

从上面的图片可以看到我有一个 页面名称 和三个单选按钮 查看 修改 更新
以下是我的代码:

<td>{{product name}} </td>
<td>
  <input type="checkbox"  :value="{id:props.row.id,value:'true',seq:'view'}"  v-model="checkview" >
</td>

<td>
  <input type="checkbox" v-model="checkedit" :value="{id:props.row.id,value:'true' ,seq:'edit'}" >
</td>
<td>
  <input type="checkbox"  v-model="checkupdate" :value="{id:props.row.id,value:'true',seq:'update'}">
</td>
<td>
  <input type="checkbox"  v-model="checkdelete" :value="{id:props.row.id,value:'true',seq:'delete'}">
</td>

现在我的问题是如何将这些复选框值存储到数据库中。

  

这种情况的Schema结构是什么。

例如让

  • 产品ID为1

如果用户检查所有三个单选按钮。那么存储在database中的数据将是这样的

     Product. | View  | edit.  | update
        1.      | True. | True  | true

2 个答案:

答案 0 :(得分:0)

您可以使用[]语法,使用HTML表单为单个字段发送多个值。

<input type="checkbox" name="fruit[]" value="apple">apple
<input type="checkbox" name="fruit[]" value="pear">pear
<input type="checkbox" name="fruit[]" value="fig">fig

发布此表单后,您将收到该字段“水果”的数组(或列表)值。您可以在存储数据库之前在服务器上进行操作。

或者,您可以使用具有唯一名称的单个复选框,即

<input type="checkbox" name="like_apple" value="ticked">apple
<input type="checkbox" name="like_pear" value="ticked">pear
<input type="checkbox" name="like_fig" value="ticked">fig

这取决于您最好如何构建数据以供日后使用。

这里有一个很好的指南:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox

然而,看起来你可能在这里使用模板语言,它自动解析你的HTML以用变量填充它,所以可能有一些已经处理这些表格的现有逻辑,你应该看一下文档。

答案 1 :(得分:0)

  

使用 PHP Serialize()Unserialize()函数

<!-- language: html -->
<input type="checkbox" name="radioButton" value="view">
<input type="checkbox" name="radioButton" value="edit">
<input type="checkbox" name="radioButton" value="update">

假设您选中了所有radio按钮。然后在您的store()方法中 $data->serialize($request->radioButton);

数据将以序列化格式存储

  

假设您的表结构如下

PageId |        Permission  
1      | a:3:{i:0;s:4:"view";i:1;s:4:"edit";i:2;s:6:"update";}
  

需要使用时Unserialize()

$data->unserialize($dataFromDB);

结果将是一个数组: -

array (
  0 => 'view',
  1 => 'edit',
  2 => 'update',
)