2016-08-16 3 views
-1

Patients이라는 새로운 테이블을 만들려고합니다.이 테이블은 단 하나의 의사와 만 관계가 있습니다. Doctor가 환자인지 여부를 알지 못하기 때문에 PHP의 모든 단일 의사에게 새로운 테이블을 구현할 것입니다 (효율적이지는 않지만 잘 알고 있습니다!).다른 테이블과 연결되어있는 새 테이블 만들기

Doctor Table.php

의사의 테이블에 각 환자에 클릭 후 나는 의기 양양 환자 테이블로 이동하고 HTML 테이블로 인쇄 할 수 있습니다. 큰 환자 테이블을 만들고 데이터를 가져 오기 위해 관련된 의사를 확인해야합니까? 아니면 모든 단일 의사를 위해 테이블을 만들어야합니까? BTW, 모든 환자 테이블에 환자 기능이 추가됩니다.

**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

코드는 어디에 있습니까? – user1234

+0

은 코드를 Google과 공유합니다. –

+0

각 의사에 대해 별도의 테이블을 만들지 마십시오. 모든 환자 정보를 단일 테이블에 보관하고 의사의 기본 키를 외래 키로 참조해야합니다. [데이터 정규화] (https://en.wikipedia.org/wiki/Database_normalization)에 대해 읽어보십시오. – Phylogenesis

답변

0

나는 큰 환자 테이블을 만들고 에 관련된 뭔가를해야만 의사가 데이터를 가져 확인해야할까요? 아니면 모든 단일 의사를위한 테이블을 만들어야합니까?

모든 의사와 모든 환자 간의 연관성 만 저장하는 테이블 하나와 해당 연결을 설명하는 필드를 만듭니다. 이 필드를 특허이 의사와 관련되었다

  • 의사 ID (사용자의 의사에 기본 키 '테이블)
  • 환자 ID (환자의 기본 키'테이블)
  • timeAdded을 (해야 할 수도 있습니다)
  • 한 환자가 테이블은 또한 테이블에 중복 의사 - 환자 링크가 없다는 것을 확인하기 위해 INDEX UNIQUE(doctor ID, patient ID)을해야 하나 의사

에 연결하는 방법에 관하여 다른 필드.

이 표는 모든 의사와 모든 환자를위한 것입니다. 아주 중요하게, 그것은 이름이나 이메일과 같은 의사 나 환자의 정보를 저장하지 않습니다 (의사와 환자 테이블이 분리 된 경우). 이 테이블의 작업은 연결, 링크 만 저장하는 것입니다.

이 디자인을 사용하면 각 의사에 대해 별도의 환자 테이블을 사용하면 훨씬 어려울만한 사항을 쉽게 가져올 수 있습니다. 예 :

  • 어떤 환자가 가장 많은 의사입니까?
  • 지난 6 개월 동안 어느 의사가 더 많은 환자를 추가 했습니까?
  • 여러 명의 의사에게 연결된 환자는 누구입니까?
+0

와우, ı 정말 들었어. 고마워. – gaban

0

1) 새로운 table 사용이

2 relation 사용 foreign key) Patient Table을 만들고 fielddoctor_id로 추가를 만들지 마십시오.그냥 의사 ID를 전달 patientsbutton을 클릭하고 가져온 id

doctor.php로 doctor_id있다 Patient tablefetch 모든 환자에서 query를 실행하면이 분야에서 관련 의사

3)의 id's을 채우기

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 

} 
관련 문제