我真的不知道这里发生了什么。
如果我将此作为我的代码:
if($_POST['expOncology'] !="") {
$varOnc = $_POST['expOncology'];
if ($varOnc="min") {
$sql_extra[] = "(exp_onc='minimal expertise' OR exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
}
if ($varOnc="some") {
$sql_extra[] = "(exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
}
if ($varOnc="high") {
$sql_extra[] = "(exp_onc='high level of expertise' OR exp_onc='expert')";
}
}
工作正常,并显示正确的结果。
但是,如果我再添加一个if块,那么就这样做:
if($_POST['expOncology'] !="") {
$varOnc = $_POST['expOncology'];
if ($varOnc="min") {
$sql_extra[] = "(exp_onc='minimal expertise' OR exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
}
if ($varOnc="some") {
$sql_extra[] = "(exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
}
if ($varOnc="high") {
$sql_extra[] = "(exp_onc='high level of expertise' OR exp_onc='expert')";
}
if ($varOnc="expert") {
$sql_extra[] = "(exp_onc='expert')";
}
}
它根本无法正常工作,即使我甚至没有选择" expert"从下拉列表中。如果expOncology没有设置为专家,那么该代码甚至不能运行吗?如果我不满足其运行条件,为什么甚至会影响代码?
答案 0 :(得分:0)
$varOnc="something"
之类的条件将始终返回true
。
您应该使用==
或===
(如果您想检查数据类型)。
您的代码应如下所示
if($_POST['expOncology'] != "") {
$varOnc = $_POST['expOncology'];
if ($varOnc == "min") {
$sql_extra[] = "(exp_onc='minimal expertise' OR exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
}
if ($varOnc == "some") {
$sql_extra[] = "(exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
}
if ($varOnc == "high") {
$sql_extra[] = "(exp_onc='high level of expertise' OR exp_onc='expert')";
}
if ($varOnc == "expert") {
$sql_extra[] = "(exp_onc='expert')";
}
}
答案 1 :(得分:0)
尝试
if($_POST['expOncology'] !="") {
$varOnc = $_POST['expOncology'];
if ($varOnc=="min"){
$sql_extra[] = "(exp_onc='minimal expertise' OR exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
}
if ($varOnc=="some"){
$sql_extra[] = "(exp_onc='some expertise' OR exp_onc='high level of expertise' OR exp_onc='expert')";
}
if ($varOnc=="high"){
$sql_extra[] = "(exp_onc='high level of expertise' OR exp_onc='expert')";
}
}
与==它比较好;)