2017-07-06 48 views
-4

我無法使用數據庫中的ID選擇一組特定數據。例如,員工有一個唯一的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

// FROM EMPLOYEE PAGE

您檢索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