php - 如何在select php中将从数据库中获取的选项添加到末尾
问题描述
我有一个类别表,其中有不同的类别。我还在类别中添加了其他。当我让类别填充选择时,我希望最后出现另一个选项。我怎样才能做到这一点?
<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>
解决方案
如果其他类别的 Id 是固定的,那么您必须在数据库查询中忽略它。
假设该选项的 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>
希望能帮助到你
推荐阅读
- c - C:在 Linux 上可靠地导致“双重释放或损坏”
- c++ - 模板类内存清理问题
- javascript - 让两个命令访问和修改同一个变量
- php - 谷歌图表使用示例数据但不使用自定义数据
- python - einsums的numpy组成?
- c++ - 在 Windows 7 64 位上使用 CreateProcessAsUserW 从 64 位进程创建的进程立即退出,异常代码为 0xc06d007e
- django - Django传递列表以形成创建选择
- tensorflow-datasets - ValueError:model_fn 不带标签,但 input_fn 返回标签
- java - 尝试以相反顺序读取两个标准时,为什么我的输出为空白?
- python - Python fbs - 冻结后模块导入不起作用