php - PHP 选择下拉选项值数组
问题描述
如果有任何意义,我正在尝试按行对结果进行选择下拉过滤器!
本质上,我有一个表,其中有 5 行,每行都有不同的日期 - 每行都有一个下拉列表,其中包含可在该日期工作的用户列表。我让所有用户都正确显示,并且我有它过滤当天无法工作的用户 - 唯一的问题是它似乎只针对第一个结果执行此操作。
例如,例如;
用户 A 无法在 10/06/2019 和 11/06/2019 工作 - 用户 A 不会显示在日期为 10/06/2019 的行的下拉列表中,但会显示在日期为 11/06/2019 的行中。
用户 B 可以处理表格上的所有日期,因此将显示在所有下拉列表中。
我已经尝试修改我的数组和查询,也尝试使用计数器但没有得到任何结果!
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>'";
}
}
}
echo "</select></td>";
*由于某种原因,我的代码不包括我的第一个回显,它只是选择的 id 名称,即 supervisor_id_1
关于我哪里出错的任何想法?
更新:
删除了更新,因为它是一个不同的问题。
解决方案
在您的 IF 和 ELSE 中,您都有一个
$row = mysqli_fetch_array($result);
那是从结果集中读取第一行,但您没有在输出中使用。只需删除这两行,请参阅下面的代码以获取注释
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);
// remove, its just throwing your first result away
//$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);
// remove, its just throwing your first result away
//$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>'";
}
}
}
echo "</select></td>";
推荐阅读
- ios - 系统跟踪仪器中的时间线是什么意思
- c# - Unity 项目升级:将项目从 Unity4 升级到 Unity5 构建时出现 Getcomponent 问题
- javascript - React.createElement("audio", ... 不工作?怎么了?
- android - Android中的弹跳球跳过速度
- google-analytics - 如何将 Google Analytics 片段插入我的 Mediawiki wiki 页面?
- c# - WPF 打包未能包含必要的第 3 方 DLL
- jquery - 在 jQuery 中循环相同的函数集
- reactjs - setState 回调在 React 16 中的渲染完成之前执行
- npm - “npm run build”只能从包含 package.json 文件的文件夹中运行吗?
- c# - 谷歌搜索按钮点击硒