2016-09-30 10 views
-2

誰もが私にこのことを助けてくれることを願っています。ここではドロップダウン(従業員のDD)をクリックすると起こります。重複する値(名前)を持ちます。私は "キャッシュアドバンス"テーブルを追加すると起こった。 :(私のドロップダウンで重複した値

enter image description hereここ

は私のコードです。

<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> 
+0

'$ result'には何がありますか? – depperm

+0

私はjquery/ajaxを使って、これも解決できると思います。 :) –

+1

ここでは2つのテーブルから選択しています(これは問題の一部と思われる)。一意性が必要な場合は、DISTINCTまたはGROUP BYを使用します。 –

答えて

2

良い一日! 私はあなたが逃したと思います」 WHERE "部分。 ようなもの:

SELECT EmpID, EmpFName, TypeofEmployee, Salary, ContDeduc 
FROM employee, cashadvance 
WHERE employee.id = cashadvance.ref_employee 

(cashadvacne`s列名を確認してください)

または使用SQL`sが参加します。

+0

ええ!あなたはその通りです。3番目の従業員は表示されません。 : –

+0

第3の従業員IDを持つ行が現金対価テーブルにありますか 名前だけが必要な場合は、2番目のテーブルが必要ありません すべての名前と追加情報が必要な場合はLEFT JOIN 。 [コード] SELECTのEmpID、EmpFName、TypeofEmployee、給与、ContDeduc 従業員 左から2番目のテーブルにあなたが持っている 'tをすれば、その後employee.id = cashadvance.ref_employee [/コード] ON cashadvance を登録しようたとえばノーマン(第3の従業員)に関連する行は、2番目のテーブルフィールドはNULLで埋められ、同時に1番目のテーブルのデータが存在するので、すべての名前を持ちます –

2
あなたはユニークな結果を得るためにあなたのクエリで DISTINCTを使用する必要があります

$result = mysqli_query($con, "SELECT DISTINCT EmpID, EmpFName, TypeofEmployee, Salary, ContDeduc FROM employee, cashadvance"); 
+2

彼はデータベースに重複して保存されていることをどのように知っていますか? – Ionut

+1

オプションはデータベースから入力されるためです。彼らは明らかに重複したエントリーを持っています。 –

+3

OPはここで2つのテーブルから選択していますが、気付かなかったのですか? 「FROM Employment、cashadvance」となり、それは問題に関係する可能性がある。 –

関連する問題