2017-07-06 4 views
-4

Ich habe Schwierigkeiten, eine Reihe von spezifischen Daten mit ID aus der Datenbank auszuwählen. Zum Beispiel hat Mitarbeiter eins eine eindeutige ID von e000000001, wenn ich auf die Ansicht-Schaltfläche im Index klicke, wird die Detailseite des Mitarbeiters angezeigt, die das Detail dieses bestimmten Mitarbeiters anstelle aller Details der Angestellten anzeigt. Vielen Dank.Wählen Sie Daten nach Id PHP

// von index.php Seite

<?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>"; 
     } 
    } 

// aus Mitarbeitern Seite

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

Sieht so aus, als müssten Sie 'employeetdetail.php' schreiben. Dies ist keine Frage, die wir für Sie beantworten können. – tadman

+1

Sie haben vergessen, etwas über das Problem zu beschreiben. "Ich habe Probleme" sagt uns nicht wirklich was falsch ist. – David

+0

Vielen Dank für Ihre Antwort. Die Daten, die ich aus der Datenbank abgerufen habe, sind alle Mitarbeiter. Ich weiß nicht, wie ich einen bestimmten Datensatz per ID abrufen kann. – wen

Antwort

0

// FROM Mitarbeiter SEITE

Die Art und Weise URL Query-String ist falsch abrufen. Sie sollten $ _GET verwenden, um die Abfragezeichenfolge von URL abzurufen. In Ihrem Fall sollte es $ _GET ['id'] sein. Siehe Code unten:

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

Sie greifen auf das $ _GET ohne jegliche Sensibilisierung zu. –

+0

@MuhammadUsman Ja, ich habe meine Antwort bearbeitet. $ _GET sollte immer maskiert/bereinigt werden. Danke für die Erinnerung: D! –

+0

@muhammadUsman Danke für die Hilfe. Ich kann das richtige Detail bekommen. Vielen Dank! – wen

Verwandte Themen