【发布时间】:2017-05-28 06:17:35
【问题描述】:
当在选择的单选框中输入不是“全部”时,我尝试取消设置我的变量。 if 语句可以正常工作并且可以完美地完成工作,但是 else 不起作用。有什么想法吗?
$profile = $_POST["profile"];
if ($profile != 'all') {
$conditions["profile"] = $profile;
} else {
unset($conditions["profile"]);
}
【问题讨论】:
-
你怎么知道它不起作用。您有错误信息想与我们分享吗?
-
在您尝试取消设置之前,
$conditions["profile"]是否真的存在 -
unset($profile)也许?unset($_POST["profile"])?正如@RiggsFolly 所说;在尝试取消设置之前确保它存在。unset(whatever_exists). -
好吧,您可以使用不同的单选按钮指定您的个人资料。因此,如果 profile = "all" 它必须显示数据库中与您的个人资料匹配的每个个人资料。例如,如果他们检查单选按钮“棕色头发”,它显示的结果会更少(实时更新,没有刷新)。但是,当您重新打开单选按钮“全部”而不是“棕色头发”时,它仍然只会给出结果,就像您选中了“棕色头发”一样。这是因为在第一次加载页面时,我会从数据库中获取所有内容,但从表单发生更改的那一刻起,我会进行搜索查询。