2013-04-02 146 views
-3

我在我的數據庫中創建了一個診所表,其中包含診所的詳細信息。 clinicID(主鍵),姓名,地址,電子郵件等。我有另一張名爲Doctor的表格,其中列出了基於clinicID的診所中醫生的姓名。問題是,在一個診所裏,每個診所可能有超過1名醫生。如何在html表格中顯示診所的詳細信息,列出所有詳細信息,包括診所中可用的所有醫生?返回列的多個值

診所表

clinicID 
name 
address 
email 

醫生表

clinicID 
nameOfDoctor 
+0

使用每個診所「行」內 – Oussama

+0

一個醫生的「名單」無論是運行兩個查詢,或使用像group_concat()。 –

+0

這是一個用戶界面問題,數據庫問題或一些組合? – ethrbunny

回答

0
select nameOfdoctor from Doctor where ClinicId=1 

會告訴你從診所1

0

醫生的名單你必須做出兩次調用整理每個查詢中的信息:

$raw_clinics = //sql query to get clinic data 
$doctors = //sqlquery to get doctors data 
$clinics = array(); 

foreach($raw_clinics as $c) { 
    $clinics[$c['clinicID']] = $c; 
} 

foreach($doctors as $d) { 
    if (!isset($clinic[$d['clinicID']]['doctors'])) $clinic[$d['clinicID']]['doctors'] = array(); 
    $clinic[$d['clinicID']]['doctors'][] = $d; 
} 
0

你需要兩個迭代循環得到這個(假設你想診所名單):

$clinicResult = $mysqli->query("SELECT * FROM Clinic"); 
while ($clinicData = $clinicResult->fetch_assoc()) { 
    //Insert your HTML statements regarding clinic details here 
    $doctorResult = $mysqli->query("SELECT * FROM Doctor WHERE clinicID = ".$clinicData['clinicID']); 

    while ($doctorData = $doctorResult->fetch_assoc() { 
     //Insert your HTML statements regarding doctors here 
    } 
}