尽管无济于事,我正在尝试对MySQL查询正确选择下拉列表过滤器。如果假期日期等于盘点日期,则该工人在下拉菜单中应该不可见。
这仅适用于该行的第一个结果,下面是一些示例;
更多示例;
另一个例子;
另一个例子;
if ($available_date == $stk_date) {
$query = "
SELECT *
FROM user_master
WHERE id NOT IN (
SELECT UM.id
FROM user_master UM
JOIN bookings B ON B.id_item = UM.id
JOIN stocktakes S ON B.the_date = S.stk_date
)
";
$result = mysqli_query($connect, $query);
// $row = mysqli_fetch_array($result);
if ($result) {
while ($row = mysqli_fetch_array($result)){
echo "<option value=$row[first_name]>$row[first_name] $row[last_name]</option>'";
}
}
}
else {
$query = "SELECT * FROM user_master";
$result = mysqli_query($connect, $query);
// $row = mysqli_fetch_array($result);
if ($result) {
while ($row = mysqli_fetch_array($result)){
echo "<option value=$row[first_name]>$row[first_name] $row[last_name]</option>'";
}
}
}
我需要弄清楚做到这一点;
如果用户A,B,C或D等无法在2019年10月6日工作-他们不会在2019年10月6日的任何下拉列表中显示。
并且如果用户A,B和C-在11/6/2019上无法使用-他们不会在10/6/2019行和11/6/2019的任何下拉列表中显示标记为那几天不工作。
这里有一些SQL提琴(第一次使用它,不确定如何制作多个表),其中只有我正在使用的基本数据。
更新:
我已经注意到,如果只有一个“值”有意义的话,这似乎是可行的,例如;
但是,如果我让用户A在10/06/2019和11/06/2019上预订,它将无法正常工作。
如果我让用户A和用户B都预订了10/06/2019
更新2:
如果表中只有一行,它将100%正常工作-如果添加第二行,它将不起作用并将结果混合在一起。几乎好像查询的每一行都无法正常运行?