我想将数据库中的多行数据显示到html表的一列中

时间:2018-09-08 14:01:32

标签: php mysql codeigniter

我有4张桌子

  1. 病历卡,其中包括病患的所有基本信息。
  2. 病历卡2,其中包括病患投诉                 该人提供的这种健康,疾病和处方(药物)                 医生。
  3. 疾病,其中包括患者的疾病。
  4. 药物,包括给患者的药物。

现在我要显示的是患者卡1,患者卡2的所有字段以及一位特定患者的疾病和药物表中的所有疾病和药物。例如:患者abc可以患有多种疾病和疾病中的药物和药品表。

我正在使用以下查询,其中group_concat数据以逗号分隔的方式显示在html表中,但问题是数据被多次显示

$this->db->select('p1.*,p2.*,
        GROUP_CONCAT(dis.disease_type SEPARATOR ",") as disease_type,
        GROUP_CONCAT(med.medicines SEPARATOR ",") as medicines', FALSE);       
$this->db->from('patientcard1 p1');

$this->db->join('patientcard2 p2','p2.card_id = p1.card_id','left');
$this->db->join('pdisease pd','pd.card_id1 = p2.card_id1','left');
$this->db->join('pmedicines pm','pm.card_id1 = p2.card_id','left');
$this->db->join('disease dis','dis.disease_id = pd.disease_id','left');
$this->db->join('medicines med','med.medicine_id = pm.medicines','left');
$this->db->group_by('u.unit_id');
$patient_details=$this->db->get();
return $patient_details;

0 个答案:

没有答案