加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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:

centres_tbl

培训课程:

tbl_training_course

输出:

View output Screenshot

我的控制器代码:

$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”,这是一个连贯的合并表所必需的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读