Удалить дубликаты данных из опции динамического выбора формы HTMl - PullRequest
0 голосов
/ 28 мая 2019

В базе данных моего сайта много постов с указанием даты.Я создаю систему публикации сообщений, в которой пользователь выбирает год из динамического раскрывающегося списка, и после нажатия кнопки «Отправить» на сайте будет отображаться только сообщение за этот год.Все идет хорошо, но в динамическом выпадающем списке год показывается многократно.

Например, в моей базе данных есть 3 сообщения, дата которых 02.02.2009, 21.02.2017, 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 голосов
/ 28 мая 2019

Вы пробовали DISTINCT?

$query = "SELECT DISTINCT year(date) FROM `press_release` WHERE del_status=0";
0 голосов
/ 28 мая 2019

Выберите уникальные / отличные годы вместо просто года в вашем запросе 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...