0

我目前正在从 HTML 选择中获取信息,看起来有点像这样:

                      <select id = "select_something">
                        <option value = "All">All</option>
                        <option value = "First">Option 1</option>
                        <option value = "Second">Option 2</option> 
                        <option value = "Third">Option 3</option>  
                      </select>

我在 php 中的 sql 查询如下所示:

$query = "SELECT * FROM `table` WHERE `column` = '$something'";

如果选择“全部” ,我可以输入哪个参数而不是$something以获得所有可能的结果?

如果选择“全部”,我不想创建不同的查询,也不想更改 $query 语句!我只对提供所有结果的 WHERE 操作的参数感兴趣(或者基本上你可以说它忽略了 where)。

在此先感谢,雅各布。

编辑:找到解决方案:

if ($something== "All") $something = 1;
else $something = "`column` = '$something'";
$query = "SELECT * FROM `table` WHERE $something;

感谢所有回复的人。

4

3 回答 3

0
$query = "SELECT * FROM `table` WHERE 1";

但我也强烈建议阅读 SQL 注入和 PDO。

于 2013-10-11T21:43:46.423 回答
0
$query = "SELECT * FROM `table` WHERE `column` = '$something'" . (($something == "All") ? " OR 1 = 1" : "");
于 2013-10-11T21:45:03.187 回答
0
<form method="POST">
<select id = "select_something">
<option value = "1">All</option>
<option value = "2">Option 1</option>
<option value = "3">Option 2</option> 
<option value = "4">Option 3</option>  
</select>
<input type="submit" name="Submit">
</form>

然后我们通过以下方式处理您的 $_POST:

if (isset($_POST['select_something'])){
  $Method = NULL;
 switch ($_POST['select_something']){
    case 1:
       $Method = "All";
       break;
    case 2:
        $Method = "Option1";
        break;
    case 3:
        $Method = "Option2";
        break;
     case 4:
        $Method = "Option3";
        break;
 }
  $Query = "SELECT * FROM `table` WHERE `column`=".$Method;
}
于 2013-10-11T21:48:45.120 回答