別のテーブルのデータを表示したい。これはCodeIgniterフレームワークです。
多くのコードを試しましたが、機能しません。
これは私のコードです:
<?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>
どうすればこれを変更できますか
<td>
<?php echo $user['classcategory_id']; ?>
</td>
テーブル名「classcategory」フィールド「name」からのデータへ
私のコントローラー、ユーザーとコース用
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);
}
コースと登録済みコースのモデル
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 +名前テーブル-> USER:列:ID + classcategory_id
モデル内のUSERテーブルをCLASSCATEGORYおよびSELECTCLASSCATEGORY.name AS categorynameを使用して結合し、次にecho $user['categoryname']
。CodeIgniterで2つのテーブルを結合する方法の例を次に示します
$this->db->select('USER.*, CLASSCATEGORY.name AS categoryname')
->from('users')
->join('CLASSCATEGORY', 'CLASSCATEGORY.id = USER.classcategory_id')
->get()
->result();
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加