2017-07-06 14 views
-4

データベースからIDを使用して特定のデータセットを選択するのに問題があります。たとえば、従業員1の固有IDはe000000001です。インデックスのビューボタンをクリックすると、その従業員の詳細ではなく特定の従業員の詳細を示す従業員の詳細ページが表示されます。ありがとうございました。IDでデータを選択PHP

// index.phpのページから

<?php 
    require_once 'db/dbEmpList.php'; 
    $sqlStr = "SELECT * FROM employees;"; 

    $result = $connection->query($sqlStr); 

    if ($result->num_rows > 0) { 



     echo "<table class='table table-sm'><thread><tr><th>Full Name</th><th>Employee ID</th><th>Position</th><th>View Employee's Details</th></tr>"; 
     while ($row = $result->fetch_assoc()) { 

      echo "<tr><td>" 
      . $row["empName"]. "</td><td>" 
        . $row["empID"]. "</td><td>" 
        . $row["position"]. "</td>" 
        . "<td> <a href='employeedetail.php?id={$row["empID"]}'>View</a>" 
        . "</td></tr>"; 
     } 
    } 

//従業員のページから

require_once 'db/dbEmpDetail.php'; 
$sql = "SELECT * FROM employees where empID = '{$row["empID"]}' "; 
$result = mysqli_query($connection, $sql); 
if (mysqli_num_rows($result)) { 
    while ($row = mysqli_fetch_assoc($result)) { 
     echo '<tr>' .'<td>' .$row["empName"].'</td>'.'<td>'. $row["position"].'</td>' .'<td>'.$row["empNRIC"].'</td>' .'<td>'.$row["empID"].'</td>' .'<td>'.$row["empEmail"].'</td>' .'<td>'.$row["empPwd"].'</td>' . "</tr>"; 
    } 
} else { 
    echo "0 results"; 
} 
mysqli_close($connection); 
?> 
+0

あなたは 'employeedetail.php'と書く必要があります。これは私たちがあなたに答えることのできる質問ではありません。 – tadman

+1

問題について何か説明するのを忘れてしまった。 「私は困っている」と言っても何が間違っているのかは分かりません。 – David

+0

返信いただきありがとうございます。データベースから取得したデータはすべて従業員です。 Idによって特定のデータセットを取得する方法がわかりません。 – wen

答えて

0

// EMPLOYEEページから

あなたはURLのクエリ文字列を取得する方法が間違っています。 $ _GETを使用してURLからクエリ文字列を取得する必要があります。あなたの場合は$ _GET ['id']でなければなりません。以下のコードを参照してください:

require_once 'db/dbEmpDetail.php'; 
$employeeid = trim(mysqli_real_escape_string($_GET['id'])); 
$sql = "SELECT * FROM employees where empID = '".$employeeid."' "; 
$result = mysqli_query($connection, $sql); 
if (mysqli_num_rows($result)) { 
    while ($row = mysqli_fetch_assoc($result)) { 
     echo '<tr>' .'<td>' .$row["empName"].'</td>'.'<td>'. $row["position"].'</td>' .'<td>'.$row["empNRIC"].'</td>' .'<td>'.$row["empID"].'</td>' .'<td>'.$row["empEmail"].'</td>' .'<td>'.$row["empPwd"].'</td>' . "</tr>"; 
    } 
} 
else { 
    echo "0 results"; 
} 
mysqli_close($connection); 
?> 
+0

あなたは感嘆符なしで$ _GETにアクセスしています。 –

+0

@MuhammadUsmanはい、私は自分の答えを編集しました。 $ _GETは常にエスケープ/サニタイズする必要があります。思い出してくれてありがとう:D! –

+0

@muhammadUsman助けてくれてありがとう。私は正しい詳細を得ることができます。ありがとうございました! – wen