首页 > 解决方案 > 如何根据下拉菜单值显示特定的数据行?

问题描述

正如标题所说,我想根据用户选择的年份显示具体的数据行。

如果用户选择 2017 年,我只想显示 2017 年创建的数据行。

我知道我的查询有问题,我试图了解如何编写查询。谁能帮帮我吗?先感谢您!

<form action="Report1.php" method="POST">
    Select Year:<select name="sortyear" id="sortyear">
        <option>2017</option>
        <option>2018</option>
    </select>
    <?php
        $sortyear = $_POST['sortyear'];
        $db = mysqli_connect('localhost','root','','customercaremodule');
        date_default_timezone_set('Asia/Kuala_Lumpur');
        if ($db->connect_error) {
            die("Connection failed: " . $db->connect_error);
        }
        $sql = "SELECT first_name, last_name, email, message, FC_DateTime FROM fbcomplain WHERE (YEAR(FC_DateTime) = $sortyear)";
        $result = mysqli_query($db,$sql);
    ?>
</form>

标签: phpmysqlsqldatabase

解决方案


你可以试试这个:

<form action="Report1.php" method="POST">
    Select Year:<select name="sortyear" id="sortyear">
        <option>2017</option>
        <option>2018</option>
    </select>
    <input type="submit" name="submit" value="Get Annual Data" />
    <?php
        if(isset($_POST['submit'])){
            $sortyear = $_POST['sortyear'];
            $db = mysqli_connect('localhost','root','','customercaremodule');
            date_default_timezone_set('Asia/Kuala_Lumpur');
            if ($db->connect_error) {
                die("Connection failed: " . $db->connect_error);
            }
            $sql = "SELECT first_name, last_name, email, message, FC_DateTime FROM fbcomplain WHERE (YEAR(FC_DateTime) = " .$sortyear .")";
            $result = mysqli_query($db,$sql);
        }
    ?>
</form>

请注意,这主要是您的代码,我只是根据此文章对其进行了相应的修改。关键是我添加了按钮,使用户能够提交表单。


推荐阅读