我试图通过比较两个表来填充下拉菜单,一个有主管和员工编号的列表,另一个有员工编号和姓名。我需要为每个主管和员工获取数字并将它们转换为下拉菜单的员工姓名,所以基本上
表 payroll_employeelist
主管员工
1234 3456
1234 2239
1234 123
2910 338
2910 3901
表 payroll_users
号码名称
第3456章
第2239章 玛丽珍
123乔·布朗
ETC
监督者由称为 $usernumber 的会话变量标识。到目前为止,我返回一个结果(只有一个!)如下:
if ($loademployees == 1){
echo "<option value=\"base\">---- Employee Name ----</option>";
$query = "SELECT payroll_employeelist.employee, payroll_users.number, payroll_users.name FROM payroll_employeelist WHERE supervisor='$usernumber' LEFT JOIN payroll_users ON payroll_employeelist.employee=payroll_users.number ";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
echo "<option value=\">" . $row{'name'} . "</option>";
}
echo "</select><br>";
}
有人能帮忙吗?我觉得我用 JOIN 做了一些有趣的事情。它应该看起来像下拉列表中的员工姓名列表。
更新:
我现在拥有的是:
if ($loademployees == 1){
echo "<option value=\"base\">---- Employee Name ----</option>";
$query = "SELECT payroll_employeelist.supervisor, payroll_employeelist.employee, payroll_users.number, payroll_users.name
FROM payroll_employeelist
INNER JOIN payroll_users
ON payroll_employeelist.employee = payroll_users.number
WHERE supervisor = '$usernumber' ";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
echo "<option value=\">" . $row['name'] . "</option>";
}
echo "</select><br>";
}
这成功返回了测试数据集中的三个记录之一,只有一个,中间记录。$usernumber 是内部生成的顺便说一句,不可能注入。
最新更新-已解决问题信不信由你
echo "</select><br>";
它在回显 while 循环的结果之前回显了这一点,因此它认为选项列表为空。我无法解释随机出现的单身员工提醒你,但它现在正在工作。