从HTMl表单的动态选择选项中删除重复数据

时间:2019-05-28 18:14:42

标签: php mysql sql select html-select

在我的网站的数据库中,有很多带有日期的帖子。我正在制作一个职位空缺系统,其中用户从动态下拉列表中选择一个年份,并且在按下提交按钮之后,只有该年份的职位才能在网站上看到。一切都很好,但是在动态下拉菜单中,一年显示了多次。

例如,我的数据库中有3个帖子,日期为2/2/2019,21/2/2019,22/3/2019。在我的动态下拉菜单中,我发现2019有3次,但我只需要显示2019年一次。

我尝试了一些jQuery和JavaScript代码,但是没有用。

我的代码:

<?php        
    $query = "SELECT year(date) FROM `press_release` WHERE del_status=0";
    $year = $conn->query($query);
?>

<form class="form-inline title" action="press_new.php" method="post">
    <div class="form-group">
        <label for="" style="color:#EB2227">Search by year</label>
        <select name="year">
            <option value="0">Please Select</option>

            <?php while($row = mysqli_fetch_array($year)){ ?>
                <option value="<?php echo($row['year(date)'])?>">
                    <?php echo($row['year(date)']) ?>
                </option>
            <?php } ?>
        </select>
        <button type="submit" name="submit" class="btn btn-default" style="background-color:#EB2227">Submit</button>
    </div>
</form>

2 个答案:

答案 0 :(得分:0)

在您的sql查询中选择唯一/不同的年份,而不是仅年份。

<?php 

        $query = "SELECT distinct year(date) FROM `press_release` WHERE del_status=0";
        $year = $conn->query($query);
        ?>

        <form class="form-inline" class="title" action="press_new.php" method="post">
            <div class="form-group">
                <label for="" style="color:#EB2227">Search by year</label>
                <select name="year">
                    <option value="0">Please Select</option>
                    <?php
                        while($row = mysqli_fetch_array($year))
                        {
                    ?>
                    <option value="<?php echo($row['year(date)'])?>">
                        <?php echo($row['year(date)']) ?>
                    </option>
                    <?php
                        }               
                    ?>
                </select>
                <button type="submit" name="submit" class="btn btn-default" style="background-color:#EB2227">Submit</button>
            </div>
        </form>

答案 1 :(得分:0)

您尝试过DISTINCT吗?

$query = "SELECT DISTINCT year(date) FROM `press_release` WHERE del_status=0";