我在我的數據庫中創建了一個診所表,其中包含診所的詳細信息。 clinicID(主鍵),姓名,地址,電子郵件等。我有另一張名爲Doctor的表格,其中列出了基於clinicID的診所中醫生的姓名。問題是,在一個診所裏,每個診所可能有超過1名醫生。如何在html表格中顯示診所的詳細信息,列出所有詳細信息,包括診所中可用的所有醫生?返回列的多個值
診所表
clinicID
name
address
email
醫生表
clinicID
nameOfDoctor
我在我的數據庫中創建了一個診所表,其中包含診所的詳細信息。 clinicID(主鍵),姓名,地址,電子郵件等。我有另一張名爲Doctor的表格,其中列出了基於clinicID的診所中醫生的姓名。問題是,在一個診所裏,每個診所可能有超過1名醫生。如何在html表格中顯示診所的詳細信息,列出所有詳細信息,包括診所中可用的所有醫生?返回列的多個值
診所表
clinicID
name
address
email
醫生表
clinicID
nameOfDoctor
select nameOfdoctor from Doctor where ClinicId=1
會告訴你從診所1
醫生的名單你必須做出兩次調用整理每個查詢中的信息:
$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;
}
你需要兩個迭代循環得到這個(假設你想診所名單):
$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
}
}
使用每個診所「行」內 – Oussama
一個醫生的「名單」無論是運行兩個查詢,或使用像group_concat()。 –
這是一個用戶界面問題,數據庫問題或一些組合? – ethrbunny