PHP - 确定是否还有一个选项被选中

时间:2016-05-06 04:22:30

标签: php

我尝试使用PHP来确定是否选择了一个或多个选项。

我有这个代码适用于单个项目:

if (isset($_POST['option43'])) {
  if (isset($_POST['option41'])) {
    $sql .= " mysql string";
  } else {  
    $sql .= " my other sql string";
   }
}

但是当我尝试添加||时要包含另一个项目,PHP无法加载:

if (isset($_POST['option43'])) {
  if (isset($_POST['option41'] || isset($_POST['option42']))) {
    $sql .= " mysql string";
  } else {  
    $sql .= " my other sql string";
}
}

任何人都可以帮助我了解如何使这项工作?

这是HTML:     

                            <tr>
                                <td><input type="checkbox" name="option41" value="bm" />bm </td>
                                <td><input type="checkbox" name="option42" value="Tv" />tv </td>
                            </tr>
                            <tr>
                                <td><input type="checkbox" name="option43" value="hp" />hp </td>
                            </tr>

基本上我试着写:

如果检查选项43,那么这是sql 但是如果选中选项41或42,那么这就是sql

感谢

2 个答案:

答案 0 :(得分:1)

如果条件有问题,请将您的问题弄错,如果条件有问题,请在下面给出代码更改if条件块可能会有帮助。

if (isset($_POST['option43'])) {
  if (isset($_POST['option41']) || isset($_POST['option42'])) {
    $sql .= " mysql string";
  } else {  
    $sql .= " my other sql string";
}
}

如果你检查$_POST['option41'],但是在检查了一个条件后你还没有完成你的错误,那么你的错误就在了,你正在检查其他选项。所以请尝试上面的代码我希望我能解决你的问题。

答案 1 :(得分:0)

if (isset($_POST['option43']) && !isset($_POST['option41']) && !isset($_POST['option42'])) {
   $sql .= " my sql string";
}elseif(isset($_POST['option43']) && (isset($_POST['option41']) || isset($_POST['option42']))){
   $sql .= " my other sql string";
}