Php 检查表中是否存在特定ID,显示为空或null,而不是显示未找到记录

Php 检查表中是否存在特定ID,显示为空或null,而不是显示未找到记录,php,sql-server,codeigniter,Php,Sql Server,Codeigniter,我有一个名为Team_members的表,列是Team_id、staffid和stafftype以及JOB table..我正在从JOB table获取数据。在获取时 如何检查团队成员表中是否没有团队id(然后返回staff type空字段,而不是显示未找到记录)??或者,如果团队成员表中有团队id并检查领导(stafftype)是否属于该团队id,则为第二个senario 团队表看起来像 team_id team_name 1 xyz 2 yux 3

我有一个名为Team_members的表,列是Team_id、staffid和stafftype以及JOB table..我正在从JOB table获取数据。在获取时

如何检查团队成员表中是否没有团队id(然后返回staff type空字段,而不是显示未找到记录)??或者,如果团队成员表中有团队id并检查领导(stafftype)是否属于该团队id,则为第二个senario

团队表看起来像

team_id team_name 
1        xyz
2        yux
3        iop
staff_id staffname
13         abc
14         tyy
15         fdg
job_id jobdate     starttime   team_id
1      12-09-2018               1
2      12-09-2019               3
3      12-09-2018               1
团队成员表看起来像

team_id staff_id staff_type
1          13      Leader
1          14      Technician
2          11      Leader
//假设团队成员表中没有3个TEAMID

职员桌看起来像

team_id team_name 
1        xyz
2        yux
3        iop
staff_id staffname
13         abc
14         tyy
15         fdg
job_id jobdate     starttime   team_id
1      12-09-2018               1
2      12-09-2019               3
3      12-09-2018               1
作业表看起来像

team_id team_name 
1        xyz
2        yux
3        iop
staff_id staffname
13         abc
14         tyy
15         fdg
job_id jobdate     starttime   team_id
1      12-09-2018               1
2      12-09-2019               3
3      12-09-2018               1
我需要在我的html表中显示领导者名称

所以我正在搜索团队成员表中不可用的记录3(团队id)。所以我犯了一个错误。如果团队成员表中有3,我需要检查领导是否可用(员工类型)。如果leader不可用,则表示在html表格列中显示Null

如果团队成员表上有3个teamid且stafftype为“Leader”,则以下代码有效。如果团队ID 3存在于员工类型为Technician的团队成员表中,则表示未找到任何记录。。 实际上,如果leader不存在,我需要显示空列

    $this->db->join('team_members tm','t.team_id = tm.team_id');
    $this->db->join('staff s','tm.Staff_id = s.Staff_id');
    $this->db->where('tm.Staff_type', "Leader");
PHP模态函数

public function list_job_by_asignedteam($getselectedteam){ //value 3

        $this->db->select('*');
        $this->db->from('job j');
        $this->db->join('team t', 'j.team_id = t.team_id');

        $this->db->join('team_members tm','t.team_id = tm.team_id');
        $this->db->join('staff s','tm.Staff_id = s.Staff_id');
        $this->db->where('tm.Staff_type', "Leader");


        $this->db->where("j.team_id",$getselectedteam);//value 3

        $this->db->order_by('Job_id', 'Desc');
        $query = $this->db->get();

        if ($query->num_rows() > 0) {
            return $query->result();
        } else {
            return 'No Records Found';
        }
    }
试试这个:

 $this->db->join
('team_table','team_table.team_id=team_member_table.team_id')
->join('staff_table','team_member_table.staff_id=staff_table.staff_id');
      $this->db->where('team_member.staff_type','Leader')
->get('team_member_table')->result_array();
试试这个:

 $this->db->join
('team_table','team_table.team_id=team_member_table.team_id')
->join('staff_table','team_member_table.staff_id=staff_table.staff_id');
      $this->db->where('team_member.staff_type','Leader')
->get('team_member_table')->result_array();
试试这个:

public function list_job_by_asignedteam($getselectedteam){ //value 3
    if ($this->isThereTeamLeader($getselectedteam)) {
        $this->db->select('*');
        $this->db->from('team_members tm');
        $this->db->join('team t', 'tm.team_id = t.team_id');
        $this->db->join('staff s', 'tm.Staff_id = s.Staff_id');
        $this->db->where("tm.team_id", $getselectedteam);//value 3

        $this->db->order_by('Job_id', 'Desc');
        $query = $this->db->get();

        if ($query->num_rows() > 0) {
            return $query->result();
        }
    }

    return 'No Records Found';
}

private function isThereTeamLeader($getselectedteam) {
    $this->db->select('team_id');
    $this->db->from('team_members');
    $this->db->where("Staff_Type", "Leader");
    $query = $this->db->get();
    return $query->num_rows() > 0;   
}
试试这个:

public function list_job_by_asignedteam($getselectedteam){ //value 3
    if ($this->isThereTeamLeader($getselectedteam)) {
        $this->db->select('*');
        $this->db->from('team_members tm');
        $this->db->join('team t', 'tm.team_id = t.team_id');
        $this->db->join('staff s', 'tm.Staff_id = s.Staff_id');
        $this->db->where("tm.team_id", $getselectedteam);//value 3

        $this->db->order_by('Job_id', 'Desc');
        $query = $this->db->get();

        if ($query->num_rows() > 0) {
            return $query->result();
        }
    }

    return 'No Records Found';
}

private function isThereTeamLeader($getselectedteam) {
    $this->db->select('team_id');
    $this->db->from('team_members');
    $this->db->where("Staff_Type", "Leader");
    $query = $this->db->get();
    return $query->num_rows() > 0;   
}
我认为job表有team_id 3,team_member表没有team_id 3,这就是问题的原因。可能要检查数据表



我认为job表有team_id 3,team_member表没有team_id 3,这就是问题的原因。可能要检查数据表

暂时忘掉非MySQL的东西。相反,请提供与提供的数据集对应的所需结果。@我使用的是MSSQL实际上,如果团队成员表中不存在Leader,我希望显示空列或null。。现在,使用上述代码时,所有其他选择列都不会出现,因为Leader(stafftype)不在其中。您有以下信息:
$this->db->from('job j');
什么是“工作”table?@DFriend我已经更新了作业表plz check THIUS暂时忘记非MySQL内容。而是提供与提供的数据集相对应的所需结果。@我使用的是MSSQL实际上我想显示空列,如果团队成员表上不存在Leader,则显示null。.现在使用上述代码,所有其他选择c列队不来是因为领导人(stafftype)不在那里你有:
$this->db->from('job j');
什么是“工作”table?@DFriend我已经更新了作业表plz check thiusyes team_id 3在team table中。team_member table没有team_id。在这种情况下,我想在staff Name列中显示空字段yes team_id 3在team table中。team_member table没有team_id。在这种情况下,我想在staff Name列中显示空字段也选择ing作业表中的其他列值..不仅是人员类型Leader..在您的代码中,如果Leader不可用,则意味着其他列也不会显示..我不想这样显示此作业表中缺少..仅从作业表中获取其他列的详细信息显示以检查团队id是否不在团队成员表中?或第二个senario I中如果团队id在团队成员表中,并检查领导是否属于该团队id,这对我不起作用。请建议其他答案。有时团队id将与其他员工类型(技术人员)一起出现在团队成员表中。因此,这也不起作用。从作业表中选择其他列值..不仅是人员类型Leader..在您的代码中,如果Leader不可用,则意味着其他列也不会显示..我不想这样显示此作业表中缺少..仅从作业表中获取其他列的详细信息show以检查团队成员中是否没有团队idber表格??或第二个senario如果团队成员表格中有团队id,并检查领导是否属于该团队id,这对我不起作用。请建议其他答案。有时团队id将与其他员工类型(技术人员)一起出现在团队成员表格中。因此,这不会起作用。我只想显示该字段为空和其他列(来自作业表)需要显示我可以得到任何其他建议吗?我只想显示字段为空,其他列(来自作业表)需要显示我可以得到任何其他建议吗?