Как добавить опцию, извлеченную из базы данных, в конец в select php - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть таблица категорий, где у меня есть разные категории. Я также добавил Другое в категорию. Когда я получаю категории для заполнения выбора, я хочу, чтобы наконец появилась другая опция. как я могу это сделать?

<select name="category" id="category" class="form-control <?php if (isset($errors['category'])) echo 'form-error'; ?>">
    <option value="">Select a category...</option>
    <?php while ($category = mysqli_fetch_assoc($categories)) { ?>
        <option value="<?php echo h($category['id']); ?>" <?php if (isset($_POST['category']) && h($category['id']) === $_POST['category']) echo 'selected'; ?>><?php echo h($category['name']); ?></option>
    <?php } ?>
</select>

1 Ответ

0 голосов
/ 30 апреля 2020

Если Id of Other категория фиксированная, то вы должны игнорировать ее в запросе к базе данных.

Допустим, что Id этой опции равен 1, наш запрос будет выглядеть так:

select * from categories where Id <> 1

Этот запрос выводит все категории, кроме "Прочее".

После этого выполните следующее:

<select name="category" id="category" class="form-control <?php if (isset($errors['category'])) echo 'form-error'; ?>">
     <option value="">Select a category...</option>
     <?php while ($category = 
     mysqli_fetch_assoc($categories)) { ?>
    <option value="<?php echo h($category['id']); ?>" <?php 
      if (isset($_POST['category']) && h($category['id']) === 
       $_POST['category']) echo 'selected'; ?>><?php echo 
       h($category['name']); ?></option>
    <?php } ?>
     <option value="1">Other</option>
      </select>

надеюсь, что это поможет

...