简体   繁体   English

使用PHP和MySQL中的下拉列表的多个搜索值

[英]Multiple search value using dropdown list in PHP and MySQL

Html Form: HTML形式:

<form>
    <select name="country[]" id="country" multiple>
        <option value="any">any</option>
        <option value="India">India</option>
        <option value="Canada">Canada</option>
        <option value="UK">UK</option>
        <option value="USA">USA</option>
        <option value="Australia">Australia</option>
    </select>
</form>

PHP Code PHP代码

<?php
$country = $_REQUEST['country'];
if($country=="")
    $countrysql = "";
else
{
    if($country == "Any") $countrysql = "";
    else
    {
        $country = str_replace(",","','",$country);
        $countrysql = " and Country in ('$country')";
    }
}
$queryString = "SELECT * FROM register where $countrysql";
?>

I have created a form in PHP and I want to search multiple options. 我已经在PHP中创建了一个表单,我想搜索多个选项。 I already created table Register and a column Country. 我已经创建了表Register和一列Country。 I am getting the result If I give single value. 如果我给出单个值,我会得到结果。 If I give multiple I am not getting the result. 如果我给多个,我不会得到结果。 Please help. 请帮忙。

You evaluate in if($country == "Any") the word Any is not equal to any in option <option value="any">any</option> 您评估if($country == "Any")这个词的任何不是选项等于任何 <option value="any">any</option>

But I suggest this php code: 但我建议这个php代码:

<?php
    $country="";
    $countryError="";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if (empty($_POST["country"])){
       $countryError = "Country is required"; 
    }else{
     $country = $_POST["country"];   
    }

    if($country == "Any") {
       $queryString = "SELECT * FROM register";  
    }else{  
         $queryString = "SELECT * FROM register where Country in ('$country')"; 

    }
// Print the SQL string:
    echo $queryString;
}

?>

The html tags: html标签:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
    <select name="country" id="country" multiple>
        <option value="Any">any</option>
        <option value="India">India</option>
        <option value="Canada">Canada</option>
        <option value="UK">UK</option>
        <option value="USA">USA</option>
        <option value="Australia">Australia</option>

    </select>
     <input type="submit" name="submit" value="Submit">  
</form>
 <span class="error"><?php echo $countryError;?></span>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM