代码之家  ›  专栏  ›  技术社区  ›  Jacob Cohen

我给WHERE操作的哪个SQL参数来全选?

  •  0
  • Jacob Cohen  · 技术社区  · 13 年前

    我目前正在从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'";
    

    我可以输入哪个参数而不是 多少美元 以在选择“全部”的情况下获得所有可能的结果?

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

    提前感谢, 雅各布。

    编辑: 找到的解决方案:

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

    感谢所有回复的人。

    3 回复  |  直到 13 年前
        1
  •  0
  •   S.Thiongane    13 年前
    $query = "SELECT * FROM `table` WHERE `column` = '$something'" . (($something == "All") ? " OR 1 = 1" : "");
    
        2
  •  0
  •   Joel Hinz    13 年前
    $query = "SELECT * FROM `table` WHERE 1";
    

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

        3
  •  0
  •   Daryl Gill    13 年前
    <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;
    }
    
    推荐文章