打印所有时间,除了数据库里的


Print all times, except the ones in the DB

我需要一个关于如何制作HTML/PHP表单的建议。我需要做一个列表框与一些选项。目前,我有这样的选项:

<option value="17:00:00">17:00</option>
<option value="18:00:00">18:00</option>
<option value="19:00:00">19:00</option>

在我的数据库中,我有两列:ID和时间

让我们假设我有一行ID: 1,时间:18:00:00。

我怎么能使它不出现在我的列表框?当然,我已经打开了与数据库的连接。

谢谢你的建议!

编辑:为什么不赞成?我的问题有什么问题?有时候我真的不理解这个社区。
  1. 用DB查询获取值,这样你就得到了$blacklist = array('18:00','19:00')
  2. 检查if(!in_array('18:00', $blacklist)){...}被列入黑名单的时间

如果您有白名单值作为数组,并且您不想检查查看部分,那么最好使用array_diff作为@YaK回答

<?php
$all_times = array('17:00:00', '18:00:00' ...) ;
$times_in_db = fetchTimes($your_db); // expected to return an array of all 'times' in your DB
$diff = array_diff($all_times, $times_in_db);
foreach ($diff as $time) {
    echo "<option value='"$time'">$time</option>";
}