我是Codeigniter的新手。我有个问题 我有两个表设置和主题
设置列 ID,Set_name ,主题列 ID,subject_name ,SET_ID
我想在图片下面显示dara
我使用了以下代码
控制器
$where=array('user_id'=>$this->session->userdata['logged_in']['id']);
$val=array('id','set_name','desc','status');
$data['set']=$this->login->get_where2($val,$where,'q_set');
$select=array('id','name','set_id');
$data['sub']=$this->login->get_some($select,'subject');
$data['msg']=$this->session->flashdata('msg');
$this->load->view('admin/header');
$this->load->view('i_user/setlist',$data);
$this->load->view('admin/sidebar');
视图
<tbody>
<?php foreach($set as $setdata){?>
<tr>
<td class="center"><?php echo $setdata->set_name;?></td>
<td class="center"><?php foreach($sub as $subdata){ if($subdata->set_id==$setdata->id){?><span class='subject'><?php echo $subdata->name;?></span><?php }}?><a href="<?php echo base_url()?>user/subject" style="float:right;">Add Subject</a></td>
<td class="center"><?php if($setdata->status==1){echo 'Published';}else{echo 'Unpublished';}?></td>
</tr>
<?php }?>
</tbody>
此代码运行良好,但我认为有一些不必要的循环正在运行以显示主题名称。有没有其他方法可以做到这一点?如果是,请建议。我非常感谢你的帮助。
答案 0 :(得分:1)
设置列* Id,Set_name *和Subject有列* id,subject_name,set_id *`
$this->db->select('Set.Set_name,Subject.subject_name');
$this->db->from('Set');
$this->db->join('Subject','Subject.set_id=Set.id','left');
$query = $this->db->get();
return $query->run();
试试这个。它是两个表之间的左连接。