簡體   English   中英

連接兩個表並將其顯示在一個表中

[英]Join two tables and display it in a table

在此處輸入圖片說明

我有兩個表“ rps_users”包含名為id,membership_no,自願者名稱和電子郵件的列,“ rps_volunteer_score”包含自願者ID,registration_assessor,訪問者,professional_registration_advisor和registration_category。此處的id和自願者ID相同。表在“ rps_volunteer_score”表中的不同“ registration_category”下具有多個記錄。 我想顯示一個包含會員編號,志願者名稱,電子郵件和類型的表。 “類型”記錄基於“ rps_volunteer_score”記錄進行查找。即,

if( $interviewer!="" && $interviewer <= 4 )echo "Interviewer";
if($registration_assessor !="" && $registration_assessor >= 2 && $registration_assessor <= 4 )echo "Assessor";
if($registration_assessor !="" && $registration_assessor >= 3 && $registration_assessor <= 4)echo "Moderator";
if($registration_assessor !="" && $registration_assessor = '4' ) echo "Registrar";
if($professional_registration_advisor !="" && $professional_registration_advisor= '1')echo "PRA";

我用它來連接兩個表

public function get_volunteers_list($condition)
{

    $this->db->select("u.id,u.membership_number,u.family_name,u.first_name,u.email_address, vs.registration_assessor, vs.interviewer,vs.professional_registration_advisor");
    $this->db->from(self::$tbl_name . " as u");
    $this->db->join(Volunteer_score::$tbl_name . " as vs", "u.id = vs.volunteer_id","left");
    $this->db->where($condition);
    $query = $this->db->get(); 
    //var_dump($this->db->last_query());
    return $query->result();
}

但是我得到了一位志願者的多項記錄。 請幫助我找到解決方案。 這是控制器代碼。

    $volunteer_list = $this->Users->get_volunteers_list(array("u.staff"=>'N'));
    var_dump($volunteer_list);
    $this->data["volunteer_list"] = $volunteer_list;

您應該按membership number分組

get()之前添加此行

$this->db->group_by("u.membership_number");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM