Php Codeigniter:如何使用外键id从外部表中获取不同的列数据?
我能够成功地获取下表中的数据。但是,在“班主任”列中,我想要的是教师姓名而不是教师id(外键) 这是数据库表 下面是如何在类视图中获取数据Php Codeigniter:如何使用外键id从外部表中获取不同的列数据?,php,sql,ajax,codeigniter,Php,Sql,Ajax,Codeigniter,我能够成功地获取下表中的数据。但是,在“班主任”列中,我想要的是教师姓名而不是教师id(外键) 这是数据库表 下面是如何在类视图中获取数据 if( !empty($class_data) ) { foreach ($class_data AS $row) { ?>
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>
你能分享教师
表格结构和模型功能代码吗?我用下面回答的教师表格和模型功能代码更新了问题。您需要使用联接来获取教师姓名。您可以共享教师
表结构和模型函数代码吗?我确实用下面回答的教师表和模型函数代码更新了问题。您需要使用联接来获取教师名称。