我在我的数据库中创建了一个诊所表,其中包含诊所的详细信息,例如。 clinicID(主键),姓名,地址,电子邮件等。我有另一张名为Doctor的表,根据clinicID列出诊所的医生姓名。问题是,在一家诊所,每个诊所可以有超过1名医生。如何在html表格中显示诊所的详细信息,该表格将列出所有详细信息,包括诊所中可用的所有医生?
诊所表
clinicID
name
address
email
医生表
clinicID
nameOfDoctor
答案 0 :(得分:0)
select nameOfdoctor from Doctor where ClinicId=1
将向您展示诊所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;
}
答案 2 :(得分: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
}
}