2016-08-16 4 views
-1

Ich versuche eine neue Tabelle namens Patients zu erstellen, die nur mit einem Arzt in Beziehung steht. Da wir nicht wissen, dass Doktor irgendwelche Patienten hat oder nicht, werde ich jede neue Tabelle für jeden einzelnen Arzt in PHP implementieren (ich weiß, es ist nicht effizient, aber gut!).Erstellen einer neuen Tabelle, die eine Verbindung mit einer anderen Tabelle hat

Doctor Table.php

Nach jedem Patienten, klicken Sie auf den Tisch des Doktors Ich habe auf den beschwingt Patiententisch gehen und es als HTML-Tabelle zu drucken. Soll ich einen großen Patiententisch erstellen und etwas überprüfen, das mit dem Arzt zusammenhängt, um die Daten zu ziehen, oder sollte ich Tabellen für jeden einzelnen Arzt erstellen? Übrigens wird jeder Patiententisch eine zusätzliche Patientenfunktion haben.

**THIS PART IS GOING TO Patient.PHP** 
    while($row = mysqli_fetch_assoc($result)) 
    { echo "<form action= 'Patients.php' method = 'POST'>"; 
     echo"<tr>"; 
      echo "<td>".$row[DoctorID]."</td>"; 
      echo "<td>".$row[name]."</td>"; 
      echo "<td>".$row[surname]."</td>"; 
      echo"<td>".$row[specialityID]."</td>"; 
     echo '<td><input class = button button2 type = submit name = Patients value = Patients /><td>'; 

      echo "</tr>"; 

    } 
**THIS PART IS THE PATIENT TABLE WHICH ALREADY AN EXISTING TABLE IN MYSQL DATABASE** 
$sql = "SELECT patientID,name,surname FROM Patients"; 
     $result = mysqli_query($conn, $sql); 
     if (mysqli_num_rows($result) > 0) 
     {  echo "<table>"; 
     echo "<tr>"; 
      echo "<th>PatientID</th>"; 
      echo"<th>Patient Name</th>"; 
      echo"<th>Patient Surname</th>"; 
      echo"</tr>"; 
       while($row = mysqli_fetch_assoc($result)) 
      {  echo"<tr>"; 
        echo "<td>".$row["patientID"]."</td>"; 
        echo "<td>".$row["name"]."</td>"; 
        echo "<td>".$row["surname"]."</td>"; 
        echo "<td><input class = 'button button3' type='button'   onclick = 'myFunction($row[patientID])' value = 'Düzenle'></td>"; 
        echo "</tr>"; 

      }  
+2

wo ist dein Code? – user1234

+0

teilen Sie den Code mit uns. –

+0

Erstellen Sie keine separate Tabelle für jeden Arzt. Sie sollten alle Patienteninformationen in einer einzigen Tabelle speichern und den Primärschlüssel des Arztes als Fremdschlüssel angeben. Lesen Sie über [Datennormalisierung] (https://en.wikipedia.org/wiki/Database_normalization). – Phylogenesis

Antwort

0

Soll ich großen Patiententisch erstellen und prüfe Somthing Arzt im Zusammenhang mit die Daten ziehen? Oder soll ich Tabellen für jeden einzelnen Arzt erstellen?

Erstellen Sie eine Tabelle, die nur die Zuordnung zwischen allen Ärzten und allen Patienten speichert, und Felder, um diese Zuordnung zu beschreiben. Es könnte Felder

  • Arzt ID (ein Primärschlüssel in Ihrem Arzt- Tabelle)
  • Patienten-ID (ein Primärschlüssel in Ihren Patient Tabelle)
  • timeAdded (wenn das Patent mit diesem Arzt zugeordnet wurde)
  • anderes Feld, das über ist, wie ein Patient mit einem Arzt verbunden ist

die Tabelle auch ein INDEX UNIQUE(doctor ID, patient ID), um sicherzustellen, haben soll, dass es kein doppelter Arzt-Patient-Link in der Tabelle ist.

Diese Tabelle ist für alle Ärzte und alle Patienten. Sehr wichtig, speichert es nicht die Informationen der Ärzte oder Patienten wie Namen oder E-Mails (das ist für getrennte Ärzte und Patienten Tabellen). Die Aufgabe dieser Tabelle besteht darin, nur die Verknüpfungen, die Verknüpfungen, zu speichern.

Dieser Entwurf erlaubt Ihnen, Sachen leicht zu holen, die viel härter sein würden, wenn Sie eine getrennte Patiententabelle für jeden Doktor hatten. Zum Beispiel:

  • Welcher Arzt hat die meisten Patienten?
  • Welcher Arzt hat in den letzten 6 Monaten mehr Patienten hinzugefügt?
  • Welche Patienten sind mit mehreren Ärzten verbunden?
+0

Waw, ich habe es wirklich verstanden. Vielen Dank. – gaban

0

1) Erstellen Sie keine neuen table Verwendung relation Verwendung foreign key für dieses

2) Erstellen Sie Patient Table und fügen Sie einen field als doctor_id.In diesem Bereich die id's verwandten Arztes

3) füllen Wenn Sie auf patients klicken button nur die ID Arzt übergeben und ein query in Patient table-fetch allen Patienten führen, die doctor_id als hergeholt id

doctor.php hat

echo '<td><a href="patients.php?id=' . $row['DoctorID'] . '">Patients</a></td>'; 

patients.php

if(isset($_GET['id'])) 
     { 
     $id = $_GET['id']; 
     $resuts = mysqli_query($con, "Select * FROM patients WHERE doctor_id='$id'"); 
// rest code to show patients 

} 
Verwandte Themen