我在html中有一个包含3个复选框的表单:Chicago,SF,NYC。
用户可以选中其中任何一个复选框。然后数据被发送到我的数据库,我将数据内爆,使其作为单独的值而不是数组存储。
$locationpref = implode(", ",$_POST['locationpref']);
当我刷新页面时,我希望我的表单预先检查用户已经选择的复选框。例如,如果我选择芝加哥和SF作为我的首选项,那么每当我登录我的个人资料时,我都希望看到这些框被检出。
我理解它背后的html,但是由于implode将数组转换为字符串,我无法弄清楚如何搜索字符串中的“SF”或“Chicago”,然后相应地触发echo函数。
<?php if (in_array("SF", $locationpref)) {echo "checked='checked'";} ?>
有什么建议吗?
谢谢!
答案 0 :(得分:1)
U need to explode the locations with coma.
$locations = "Chicago,SF,NYC";
$locationpref = explode(','$locations);
然后使用
if (in_array("SF", $locationpref)) {echo "checked='checked'";}
答案 1 :(得分:0)
您显然已发现Failed to install graph:
Invalid argument: GraphDef argument to Extend includes node 'mid', which
was created by a previous call to Create or Extend in this session.
但未发现其相反的implode()
,以便向另一个方向转换。
explode()
或者你可以只使用REGEX,寻找包含在单词边界内的单词:
if (in_array("SF", explode(',', $locationpref))) echo "checked='checked'";