2016-05-06 12 views
-1

Neu bei PHP hier. Ich arbeite an einem grundlegenden PHP-Projekt für die Universität. Ich habe eine Seite mit einer Patientenliste. Wenn Sie auf den Patienten klicken, gelangen Sie auf die Patientenseite mit weiteren Details zu diesem Patienten.PHP-Link mit SQL-Datenbank

Ich habe eine Haupt patientDetails.php Seite, die die Details anzeigen wird.

Allerdings bin ich ein wenig verwirrt. Wie bekomme ich den "? Name .." Teil des Links zur Arbeit. Wie bekomme ich die patientDetails-Seite, um die spezifischen Patientendaten zu laden?

Ich habe eine index.php Seite, die die Liste der Patienten wie folgt hat.

<td><a href="patientDetails.php?Name=Stuart">Stuart</a></td></tr><tr> <td>2</td> 
    <td><a href="patientDetails.php?Name=Fred">Fred</a></td></tr><tr> 

In der PatientDetails Seite habe ich eine Select-Anweisung Details aus der Datenbank zu sammeln, aber nicht sicher, wo sonst von hier zu gehen.

Wie Sie oben sehen können, hat die Datenbanktabelle mit Patienten das Feld PatID, Name und E-Mail.

Dank

Bitte beachten Sie: wenn möglich Dies ist ein einfaches Projekt, das an dem ich arbeite, also bin ich einige der Features bewusst sind veraltet, aber ich muss es mit diesen Funktionen arbeiten bekommen.

+2

** WARNUNG **: Wenn Sie nur PHP lernen, bitte verwenden Sie nicht die [ 'mysql_query'] (http://php.net/manual/en/function.mysql-query. php) Schnittstelle. Es ist so schrecklich und gefährlich, dass es in PHP 7 entfernt wurde. Ein Ersatz wie [PDO ist nicht schwer zu erlernen] (http://net.tutsplus.com/tutorials/php/why-you-should-beusing-phps) -pdo-for-database-access /) und ein Leitfaden wie [PHP The Right Way] (http://www.phptherightway.com/) erläutert Best Practices. Ihre Benutzerparameter sind ** nicht ** [richtig maskiert] (http://bobby-tables.com/php) und es gibt [SQL injection bugs] (http://bobby-tables.com/), die ausgenutzt werden können . – tadman

+0

das Zeug in deinem '? Name =' Teil der URL ist in '$ _GET ['Name']' –

+0

benutze $ name = $ _GET ['Name'] –

Antwort

0

Gemäß Ihrem Code gibt es mehrere Fehler. und um Wert zu erhalten, können Sie $_GET['Name'] verwenden. Ich gehe davon aus, dass Sie alle anderen Variablen haben ($Email and $PatID)

$Name = $_GET['Name']; 

Ihre Anfrage ist nicht richtig. Ändern Sie es aus

select * from PHPEnrolment WHERE PatID = '$PatID' AND $NAME = 'Name' AND Email $Email 

Um

select * from PHPEnrolment WHERE PatID = '$PatID' AND NAME = '$Name' AND Email = '$Email' 

So Ihren ganzen Code sollte wie folgt aussehen.

$query = "select * from PHPEnrolment WHERE PatID = '$PatID' AND NAME = '$Name' AND Email = '$Email'"; 
$result = mysql_query($query, $link); 

HINWEIS: STOP MYSQL weiter verwenden. Es ist jetzt veraltet.

+0

Hallo Entschuldigung Ich bin neu in PHP. Wo/Wie würde ich das genau umsetzen? – user2131803

+0

Sie müssen etwas über PHP lesen, sich damit vertraut machen und Dinge ausprobieren. Dies ist kein Rezeptbuch ... Dokumentation zum Starten: http://php.net/manual/en/index.php – Webomatik

0

Sie können die URL-Variablen mit $ _GET abrufen. Ich sehe, dass Sie nur Name-Parameter in der URL übergeben. Verwenden Sie den folgenden Code.

$name = $_GET['Name']; 

$query = "select * from PHPEnrolment WHERE NAME = '$name'"; 
$result = mysql_query($query, $link); 

if ($result) { 
    while($row = mysql_fetch_array($result)) { 
    // display details here 
    } 
}