2013-04-02 3 views
-3

예를 들어 클리닉의 세부 정보가 포함 된 내 데이터베이스에 Clinic 테이블을 만들었습니다. clinicID (기본 키), 이름, 주소, 이메일 등. 나는 clinicID를 기반으로 한 진료소에서 의사의 이름을 나열하는 Doctor라는 다른 테이블을 가지고 있습니다. 문제는 클리닉에서 클리닉 당 1 명 이상의 의사가있을 수 있다는 것입니다. 클리닉에서 사용할 수있는 모든 의사를 포함하여 모든 세부 정보를 나열하는 html 테이블에서 해당 클리닉의 세부 정보를 어떻게 표시 할 수 있습니까? 클리닉 표여러 값의 열 반환

clinicID 
name 
address 
email 

의사 표

clinicID 
nameOfDoctor 
+0

중 하나 – Oussama

+0

각 병원 "행"내부 의사의 "목록"을 사용하는 두 개의 쿼리를 실행하거나 사용 group_concat()과 같은 것입니다. –

+0

UI 질문입니까, DB 질문입니까 또는 조합입니까? – 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 
    } 
}