【问题标题】:join table technique using codeigniter使用 codeigniter 连接表技术
【发布时间】:2016-09-10 08:44:57
【问题描述】:

伙计们,我的数据库中有三个包含数据的表格,如下面的链接所示。 在 class 和 subject 表上,ssid 和 csid 是来自 members 的外键。

我使用左连接连接表,如下面的模型代码所示。 当我为John claudius 回显 first_name, surname 和 class_name 时,它出现了 3 次,而 Alex massawe 只出现了一次。 但是如果我为Alex massawe 添加信息,结果将显示与Alex massawe 的信息一样多的次数 属于科目。 我需要您的帮助,这样如果在表格subjects上为一个名字已经在表格成员中的人添加信息,则不会重复给出的信息。

数据库中的表

my tables

成员

sid       first_name     姓
a001     亚历克斯              massawe
a002     约翰             克劳狄斯

id        csid     类名
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('subjects', '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();
return $query->result_array();
}

控制器:

函数特定($sid){
$sid=$this->uri->segment(3);
$this->load->model('names');

$this->data["names"]=$this->names_rank->get_particular($sid);
$this->load->view("view/details", $this->data);
}

查看:

foreach($names as $name) {

echo $name['sid'].' '。 $name['first_name']。' '。 $name['姓氏']。' '.$name['class_name'];
}

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    如果你删除循环怎么办 - 改变你的看法

    来自

    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'];
    

    或者如果您需要循环,那么它应该为每个成员循环并回显名称。 IE foreach $member echo $names

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-29
      • 2017-05-17
      • 2011-05-12
      • 2017-03-10
      • 1970-01-01
      • 1970-01-01
      • 2018-01-09
      • 1970-01-01
      相关资源
      最近更新 更多