Php 在我的下拉列表中重复值

Php 在我的下拉列表中重复值,php,html,mysql,Php,Html,Mysql,我希望任何人都能帮助我,这里发生的是当我点击我的下拉列表(员工dd)时。它将具有重复的值(名称)。当我添加“cashadvance”表时发生了这种情况:( 这是我的密码 <tr> <td><label for="ename">Names:</label></td> <td><select name="ename" id="ename">

我希望任何人都能帮助我,这里发生的是当我点击我的下拉列表(员工dd)时。它将具有重复的值(名称)。当我添加“cashadvance”表时发生了这种情况:(

这是我的密码

<tr>
                <td><label for="ename">Names:</label></td>
                <td><select name="ename" id="ename">
                      <option>Choose</option>
                      <?php
                        include("alqdb.php");
                        $result = mysqli_query($con, "SELECT EmpID, EmpFName, TypeofEmployee, Salary, ContDeduc FROM employee, cashadvance");
                        while($row = mysqli_fetch_assoc($result)){
                          echo "<option value='{$row["EmpFName"]}' data-emp-id='{$row["EmpID"]}' data-type='{$row["TypeofEmployee"]}' data-sal='{$row["Salary"]}' data-deduc='{$row["ContDeduc"]}'>";
                          echo $row["EmpFName"] . "</option>";
                        }
                      ?>
                </select>
                </td>
            </tr>

姓名:
选择
您应该在查询中使用,以获得唯一的结果

$result = mysqli_query($con, "SELECT DISTINCT EmpID, EmpFName, TypeofEmployee, Salary, ContDeduc FROM employee, cashadvance");
你好! 我想你错过了“哪里”部分。 比如:

SELECT EmpID, EmpFName, TypeofEmployee, Salary, ContDeduc 
FROM employee, cashadvance
WHERE employee.id = cashadvance.ref_employee
(请检查cashadvack的列名)


或者使用SQL的连接。

使用jquery/ajax,$result有什么?我认为使用jquery/ajax也可以解决这个问题。:)您可以从这里的两个表中进行选择(这似乎是问题的一部分)。如果您想要唯一性,请使用DISTINCT and/or GROUP BY。jquery/ajax无法解决此问题,您需要服务器端解决方案。sorry2,我将立即删除此选项。顺便说一句,使用DISTINCT不起作用。你能给我看看吗?如果我使用分组方式?提前谢谢。:)您如何知道他在数据库中保存了重复项?因为选项是从数据库填充的。所以他们显然有重复的条目。OP从这里的两个表中进行选择,你没有注意到吗
来自员工,cashadvance
,这可能会对这个问题产生影响。@ObjectManipulator,你的回答没有意义,但Fred-ii-的评论有意义。“对不起,我会立即删除它。顺便说一句,使用DISTINCT不起作用。你能展示一下吗?如果我使用组BY?提前谢谢你。–Francis Vargas“是的!你说得对。但第三名员工没有出现:(cashadvance表中是否存在第三个
s员工id的行?如果只需要姓名,则不需要第二个表。如果需要所有姓名和其他信息,则应使用左联接。[code]选择EmpID、EmpFName、TypeofEmployee、Salary、ContDeduc FROM employee LEFT JOIN cashpadvance ON employee.id=cashpadvance.ref_employee[/code],然后,如果在第二个表中您没有任何与例如Norman(第三个员工)相关的行,则第二个表字段将由NULL填充,同时将显示第一个表中的数据,因此您将拥有所有名称