Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter:如何使用外键id从外部表中获取不同的列数据?_Php_Sql_Ajax_Codeigniter - Fatal编程技术网

Php Codeigniter:如何使用外键id从外部表中获取不同的列数据?

Php Codeigniter:如何使用外键id从外部表中获取不同的列数据?,php,sql,ajax,codeigniter,Php,Sql,Ajax,Codeigniter,我能够成功地获取下表中的数据。但是,在“班主任”列中,我想要的是教师姓名而不是教师id(外键) 这是数据库表 下面是如何在类视图中获取数据 if( !empty($class_data) ) { foreach ($class_data AS $row) { ?>

我能够成功地获取下表中的数据。但是,在“班主任”列中,我想要的是教师姓名而不是教师id(外键)

这是数据库表

下面是如何在类视图中获取数据

if( !empty($class_data) ) {
                                    foreach ($class_data AS $row) {
                                        ?>
                                        <tr>
                                            <td><?php echo $row->class_id; ?></td>
                                            <td><?php echo $row->grade; ?> </td>
                                            <td><?php echo $row->name; ?></td>
                                            <td><?php echo $row->capacity; ?></td>

                                            <td> <?php echo $row->teacher_id; ?></td>
教师数据库表

创建表
teacher
teacher\u id
int(11)不为空 自动递增,
t\u f\u name
varchar(250)不为空,
t\u last\u name
varchar(250)不为空,
DOB
日期不为空,
t_电子邮件
varchar(250) 不为空,
t\u地址
varchar(500)不为空,
t\u电话
varchar(150) 不为空,
t\u用户名
varchar(250)不为空,
t\u密码
varchar(500)不为空,
qualifications
varchar(5000)不为空, 加入的日期不为空,离开的日期不为空,
t\u当前\u状态
int(1)不为空,主键(
teacher\u id
) ENGINE=InnoDB AUTO_INCREMENT=8默认字符集=1

模型获取类数据函数

  function fetch_class_data()
  {
    $this->db->select("*");
            $this->db->from('class');

            $query=$this->db->get();

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


        }else{
            return false;
        }


  }

您需要在
class
teacher
表之间使用
JOIN
。请将您的型号代码更改为:

$this->db->select('c.*, t.t_f_name, t.t_last_name')
         ->from('class c')
         ->join('teacher t', 'c.teacher_id = t.teacher_id');
$query = $this->db->get();
将视图中的
t_f_name
t_last_name
连接起来,作为全名

那么,替换

<td><?php echo $row->teacher_id; ?></td>

<td><?php echo $row->t_f_name . " " . $row->t_last_name; ?></td>

您需要在
教师
表之间使用
连接
。请将您的型号代码更改为:

$this->db->select('c.*, t.t_f_name, t.t_last_name')
         ->from('class c')
         ->join('teacher t', 'c.teacher_id = t.teacher_id');
$query = $this->db->get();
将视图中的
t_f_name
t_last_name
连接起来,作为全名

那么,替换

<td><?php echo $row->teacher_id; ?></td>

<td><?php echo $row->t_f_name . " " . $row->t_last_name; ?></td>


你能分享
教师
表格结构和模型功能代码吗?我用下面回答的教师表格和模型功能代码更新了问题。您需要使用联接来获取教师姓名。您可以共享
教师
表结构和模型函数代码吗?我确实用下面回答的教师表和模型函数代码更新了问题。您需要使用联接来获取教师名称。