如何在用户中保存多个复选框并获取它?

时间:2019-03-12 作者:Sh.Dehnavi

我想在用户配置文件页面中创建一个新部件作为多个复选框,用户可以检查其服务。

But the issue is i do not know how to display the checked options after saving as checked and how to display checked options in another page by get_user_meta!!!

我的代码:

<input type="checkbox" name="service_name[]" value="Architecture" >Architecture<br>
<input type="checkbox" name="service_name[]" value="Builders and Developeres">Builders and Developeres<br>
<input type="checkbox" name="service_name[]" value="Material Supplier">Material Supplier<br>
<input type="checkbox" name="service_name[]" value="Contractor">Contractor<br>
<input type="checkbox" name="service_name[]" value="Interior Decorator">Interior Decorator<br>
<input type="checkbox" name="service_name[]" value="Property Finance">Property Finance<br>
我在用户元表中保存它们的方式:

if( isset($_POST[\'service_name\']) ){
    //$data=serialize($_POST[\'service_name\']);
    $data = $_POST[\'service_name\'];
    update_user_meta($userid, \'service_name\', $data);
}  
我需要你的帮助

1 个回复
最合适的回答,由SO网友:endcoreCL 整理而成

首先获取数据

$data = get_user_meta( $user_id, \'service_name\', true);
您可以在$data中找到一个包含所有条目的数组。您可以这样做:

<input type="checkbox" name="service_name[]" value="Architecture" <?php echo in_array(\'Architecture\', $data) ? \'checked\' : \'\'); ?>>Architecture<br>
未经测试,但应该有效。

相关推荐

Client Profiles

正在寻找创建客户机数据库的最佳方法。插件能最好地实现以下功能吗?我的客户端数据库插件存储有关客户端的个人信息和统计信息,这些信息和统计信息将通过自定义字段和自定义表单收集,管理员创建客户端配置文件后,仪表板选项卡将打开列表区域(类似于用户选项卡)(仅限管理员)“添加新”功能(类似于仪表板的用户区域)。管理员可以将客户端分配给用户,分配给用户的客户端显示为用户元数据。分配给用户的客户端将在用户配置文件中可见,仪表板小部件显示为登录用户分配的客户端,并带有指向客户端配置文件页面的链接。插件是解决此问题的解决方