使用codeigniter连接表技术

时间:2016-05-14 03:13:03

标签: php codeigniter

我的数据库中的人我有三个包含数据的表,如下面的链接所示。  在表格类和主题上, ssid和csid 是来自成员的外键。

我使用左连接连接表,如下面的模型代码所示。 当我为John claudius回显 first_name,surname和class_name 时,它会出现三次,而对于Alex massawe,它只出现一次。  但如果我添加Alex massawe的信息,结果将显示为Alex massawe的信息的次数 这是在科目内。 我需要你的帮助,以便在名称已经存在于表成员中的人员中为表格主题添加信息时,不会重复发出的信息。

数据库中的表

my tables

成员

sid first_name姓氏
a001 alex massawe
a002 John claudius

id csid class_name
01 a001 baby_class
02 a002 Class_one

受试者

id ssid subject_name
01 a002数学
02 a002文献
03 a002沟通技巧



机型:


  

function get_particular($ sid){
$ this-> db-> select('*');
  $ this-> db-> from('members m');
$ this-> db-> join('subject s',   'm.sid = s.ssid','left');
$ this-> db-> join('class c',   'm.sid = c.csid','left');
$ this-> db-> where('m.sid',$ sid);
  $ query = $ this-> db-> get();
返回$ query-> result_array();
      }   

控制器:

  

功能特别($ sid){
$ sid = $ this-> uri-> segment(3);
  $这 - >负载>模型( '姓名');

     

$这 - >数据[ “名称”] = $这 - > names_rank-> get_particular($ SID);
    $ this-> load-> view(“view / details”,$ this-> data);
}

视图:

  

foreach($ name as $ name){

     

echo $ name ['sid']。' ”。 $名称[ 'FIRST_NAME']“。 ”。 $名称[ '姓']“。   ”。$名称[ 'CLASS_NAME'];
  }

1 个答案:

答案 0 :(得分:0)

如果删除循环怎么办 - 更改视图

发件人

foreach($names as $name) {

echo $name['sid'].' '. $name['first_name'].' '. $name['surname'].' '.$name['class_name'];
}

echo $name['sid'].' '. $name['first_name'].' '. $name['surname'].' '.$name['class_name'];

或者如果你需要循环,那么它应该循环每个成员和echo名称。即 foreach $ member echo $ names