【问题标题】:Remove duplicate data from dynamic select option of HTMl form从 HTML 表单的动态选择选项中删除重复数据
【发布时间】:2019-05-28 18:14:42
【问题描述】:

在我网站的数据库中,有很多带有日期的帖子。我正在制作一个帖子缩短系统,用户从动态下拉列表中选择一年,在按下提交按钮后,网站上只会显示该年份的帖子。一切都很顺利,但在动态下拉菜单中,一年显示了多次。

例如,我的数据库中有 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>

【问题讨论】:

    标签: php mysql sql select html-select


    【解决方案1】:

    你试过DISTINCT吗?

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

    【讨论】:

    • 问题已解决。非常感谢
    【解决方案2】:

    在您的 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>
    

    【讨论】:

    • 问题已解决。非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多