2017-06-17 6 views
-1

私は2つのテーブル、患者&診断があります。これまでのところ、私はデータベースからのデータを患者のカードに挿入/表示し、その診断を行ってきました。とても簡単。私が使用して両方のテーブル(患者と診断)のデータを表示するにはPHPと患者のリンク

if(isset($_POST['btnadd'])){ 
$sql = "INSERT INTO patients (id, datetime, patientname) 
    values('".$_POST['id']."','".date('Y-m-d H:i:s')."','".$_POST['patientname']."') 
"; 
if(mysqli_query($con, $sql)){ 
    header('Location: patientadded.php'); 
} else { 
    echo "Error " .mysqli_error($con); 
} 

そしてタフな部分が始まります。

$sql = "SELECT id, datetime, patientname FROM patients ORDER BY datetime DESC"; 

$result = mysqli_query($con, $sql); 
if(mysqli_num_rows($result) > 0){ 
while($row = mysqli_fetch_assoc($result)){ 

データを挿入するには、私が使用しています。私はテーブルの患者ID(プライマリキー)を診断テーブルdiagnostic_id(外部キー)にリンクしています。私が今欲しいのです:患者で

  1. は、私が彼らの診断を追加するために、他のページに私を送信するためのボタンがありますが、私はこの患者のIDや姓を含めるには、このページが必要なので、診断は意志プロフィール彼のプロフィールに追加される。これができない場合は、診断ページのドロップダウンからすべての診断情報が行く患者名を選択する必要があります(ここでは、患者名にはプライマリキーがありますか?)
  2. 患者は複数の診断を受けるため、私はこの患者のために以前に追加したすべての診断をリストアップする必要があります。データベース内

患者テーブルには含まれています:データベース内

id, datetime, patientname, birthdate, phonenumber, addres, city 

診断表には含まれています

id, datetime, diagnosis, therapy, price, payment, notes, diagnosis_id 

私は、データベース関係のこれらの種類のためにGoogleにどのような条件を不思議でしたか? 誰かにヒントを与えるコード行がありますか?第二に、私はジョイントと一緒に仕事をする必要があることを知りましたか?

ありがとうございました!

+0

最初の質問がわかりません。しかし、2番目の場合は、JOIN文を使用する必要があります。例えば、[w3c](https://www.w3schools.com/sql/sql_join.asp)でそれらを確認することができます。 – Darvex

答えて

1

あなたができることは非常に簡単です。

pidまたはpatient_idという名前の診断テーブルにフィールドを追加し、そのフィールドにユーザーのidを追加します。

そのidは、患者と診断の両方を関連付けるものになります。

患者のすべての診断を取得するクエリを、idで作成する必要があります。

この説明が正しい方向を指してくれれば幸いです。

関連する問題