php – 从两个表中选择SQL会返回重复值 – Codeigniter
发布时间:2020-12-13 16:58:35 所属栏目:PHP教程 来源:网络整理
导读:我必须从两个表中检索一些所有数据.没有条件.但我的代码返回重复的数据值. 每个表包含4行 中心tbl: 培训课程: 输出: 我的控制器代码: $this-load-model("admindata"); $data ['query'] = $this-admindata-getcentrelist(); $this-load-helper('url'); $t
我必须从两个表中检索一些所有数据.没有条件.但我的代码返回重复的数据值.
每个表包含4行 中心tbl: 培训课程: 输出: 我的控制器代码: $this->load->model("admindata"); $data ['query'] = $this->admindata->getcentrelist(); $this->load->helper('url'); $this->load->view('admin/header'); $this->load->view('admin/training',$data); $this->load->view('admin/footer'); 我对模型的查询是: public function getcentrelist() { $this->load->database(); $query= $this->db->query('SELECT centre_name,course_name from tbl_training_courses,tbl_traning_centres'); return $query->result(); } 查看:(training.php) <?php foreach($query as $row): ?> <tr> <td><?php echo $row->centre_name; ?></td> </tr> <?php endforeach; ?> 解决方法
这是正常的,因为你做了隐式连接!为什么不简单地请求两个查询,每个表一个,然后将结果合并到一个数组中?
public function getcentrelist() { $this->load->database(); $query_courses= $this->db->query('SELECT course_name as name from tbl_training_courses'); $query_centers= $this->db->query('SELECT centre_name as name from tbl_traning_centres'); $courses = $query_courses->result(); $centers = $query_centers->result(); return array_merge($courses,$centers); } 请注意,我已将字段course_name和中心名称重命名为统一名称:“name”,这是一个连贯的合并表所必需的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |