如何在表格中添加多个值的复选框?

时间:2013-10-31 作者:sun

现在我从options 我自己的桌子,所以事情变得越来越困难

我有一个复选框,它的名字是selection 在表中,下面是我尝试的

<input type="checkbox" name="selection" value="1"<?php checked("1",$item[\'selection\']);?> />
<input type="checkbox" name="selection" value="2"<?php checked("2",$item[\'selection\']);?> />
<input type="checkbox" name="selection" value="3"<?php checked("3",$item[\'selection\']);?> />
这并没有保存任何值,然后我尝试在下面的数组中使用

<input type="checkbox" name="selection[]" value="1"<?php checked("1",$item[\'selection\']);?> />
<input type="checkbox" name="selection[]" value="2"<?php checked("2",$item[\'selection\']);?> />
<input type="checkbox" name="selection[]" value="3"<?php checked("3",$item[\'selection\']);?> />
它发出警告Warning: mysql_real_escape_string() expects parameter 1 to be string, array given

使用“我的表”时,如何在复选框中存储多个同名值?

任何帮助都将是巨大的。

1 个回复
SO网友:realloc

WordPress功能checked() 只需比较两个给定值,如果比较结果为真,则将选中的属性添加到单选按钮或复选框中。第二个参数是默认值true 因此可以使用PHP函数in_array() 如果必须检查给定值是否在这样的数组中

<input type="checkbox" name="selection[]" value="1" <?php checked( in_array( \'1\', $item[\'selection\'] ) ); ?> />
<input type="checkbox" name="selection[]" value="2" <?php checked( in_array( \'2\', $item[\'selection\'] ) ); ?> />
<input type="checkbox" name="selection[]" value="3" <?php checked( in_array( \'3\', $item[\'selection\'] ) ); ?> />
我想你saved your data serialized 还有你unserialize 在使用它们之前,如示例中所示。

提交表单时,可以获取并序列化字段的值,以便将其保存到db中,如下所示

$str = maybe_serialize( $_POST[\'selection\'] );
然后从数据库中获取该值时,应取消序列化该值

$item[\'selection\'] = maybe_unserialize( $str );
这一点很重要,因为这样可以恢复阵列。

结束

相关推荐

在wp_database中的哪些位置定义了可用角色?

我上榜是为了测试我在多站点网络上使用的插件的私有beta版。插件作者在其中有添加自定义角色的代码。他们有一个bug,它删除了为用户提供除一个自定义角色之外的任何角色的功能。当我访问时../wp-admin/network/site-users.php, “添加用户”角色下拉列表仅显示此插件添加的一个角色。change role下拉菜单显示所有WP默认角色,以及此插件和其他插件添加的一些额外角色。如果我试图将一个用户更改为这些角色之一,我会得到一个“你不能给用户这个角色”错误页面。我一直在与开发人员讨论这个