首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从其他表中获取数据?

如何从其他表中获取数据?
EN

Stack Overflow用户
提问于 2020-06-27 14:04:05
回答 2查看 55关注 0票数 1

我想显示另一个表中的数据。这是CodeIgniter框架。

我试过许多密码,但它们不起作用。

这是我的密码:

代码语言:javascript
运行
复制
<?php
foreach ($users->result_array() as $key => $user): ?>
   <tr>
      <td> <?php echo $key+1; ?></td>
      
      <td>
        <img src="<?php echo $this->user_model->get_user_image_url($user['id']);?>" alt="" height="50" width="50" class="img-fluid rounded-circle img-thumbnail">
      </td>

      <td> <?php echo $user['first_name'].' '.$user['last_name']; ?>
        <?php if($user['status'] != 1): ?>
          <small><p><?php echo get_phrase('status'); ?>: <span class="badge badge-danger-lighten"><?php echo get_phrase('unverified'); ?></span></p></small>
        <?php endif; ?>
      </td>

      <td>
        <?php echo $user['email']; ?>
      </td>

      <td>
        <?php echo $user['classcategory_id']; ?>
      </td>

      <td>
        <?php $enrolled_courses = $this->crud_model->enrol_history_by_user_id($user['id']);?>
          <ul>
            <?php foreach ($enrolled_courses->result_array() as $enrolled_course):
            $course_details = $this->crud_model->get_course_by_id($enrolled_course['course_id'])->row_array();?>
              <li><?php echo $course_details['title']; ?></li>
           <?php endforeach; ?>
         </ul>
     </td>

我怎样才能改变这个?

代码语言:javascript
运行
复制
 <td>
   <?php echo $user['classcategory_id']; ?>
 </td>

表名“table类别”字段" name“中的数据

我的控制器,供用户和课程使用

代码语言:javascript
运行
复制
public function get_courses() {
        if ($this->session->userdata('admin_login') != true) {
            redirect(site_url('login'), 'refresh');
        }
...
$data = array();
        if(!empty($courses)) {
            foreach ($courses as $key => $row) {
                $instructor_details = $this->user_model->get_all_user($row->user_id)->row_array();
                $category_details = $this->crud_model->get_category_details_by_id($row->sub_category_id)->row_array();
                
                $sections = $this->crud_model->get_section('course', $row->id);
                $lessons = $this->crud_model->get_lessons('course', $row->id);
                $enroll_history = $this->crud_model->enrol_history($row->id);
...

public function users($param1 = "", $param2 = "") {
        if ($this->session->userdata('admin_login') != true) {
            redirect(site_url('login'), 'refresh');
        }
        if ($param1 == "add") {
            $this->user_model->add_user();
            redirect(site_url('admin/users'), 'refresh');
        }
        elseif ($param1 == "edit") {
            $this->user_model->edit_user($param2);
            redirect(site_url('admin/users'), 'refresh');
        }
        elseif ($param1 == "delete") {
            $this->user_model->delete_user($param2);
            redirect(site_url('admin/users'), 'refresh');
        }

        $page_data['page_name'] = 'users';
        $page_data['page_title'] = get_phrase('student');
        $page_data['users'] = $this->user_model->get_user($param2);
        $this->load->view('backend/index', $page_data);
    }

我的课程模式和选修课程

代码语言:javascript
运行
复制
public function get_course_by_id($course_id = "")
    {
        return $this->db->get_where('course', array('id' => $course_id));
    }

public function enrol_history_by_user_id($user_id = "")
    {
        return $this->db->get_where('enrol', array('user_id' => $user_id));
    }

我的数据库就像这个表-> CLASSCATEGORY :列: ID +名称表->用户:列: ID + classcategory_id

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-27 15:17:01

您可以使用CLASSCATEGORY连接模型中的USER表,并选择CLASSCATEGORY.name作为分类名,然后选择echo $user['categoryname']。下面是如何在CodeIgniter中连接两个表的示例

代码语言:javascript
运行
复制
    $this->db->select('USER.*, CLASSCATEGORY.name AS categoryname')
         ->from('users')
         ->join('CLASSCATEGORY', 'CLASSCATEGORY.id = USER.classcategory_id')
         ->get()
         ->result();
票数 0
EN

Stack Overflow用户

发布于 2020-07-02 08:58:56

代码语言:javascript
运行
复制
public function getallRecords($id,$product_id)
    {
        $this->db->select('*');
        $this->db->from('products');
        $this->db->where('id', $id);
        $this->db->where('product_id', $product_id);
        $this->db->where('show', 'no');
        $this->db->where('Results !=', '0');
        $this->db->order_by('added', 'DESC');
        $this->db->limit(30);
        $getallRecords=$this->db->get();
        $resultllRecords=$getallRecords->result();
        return $resultllRecords;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62611019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档