Menampilkan Data multi Table di Codeigniter 4 dengan Join



Pada pembuatan sebuah aplikasi pastinya kita tidak lepas yang namanya database dan tabel. Tapi terkadang kita di tuntut untuk menampilkan sebuah data dari tabel satu bergabung dengan tabel dua atau lainnya bisa juga disebut dengan relasi antar tabel.

Pada kesempatan kali ini admin akan membahas sebuah tutorial bagaimana cara menampilkan beberapa data ditabel yang berbeda dengan join di codeigniter 4. Jika kita membuat join data, maka dalam structure tabel satu dengan tabel yang lain mempunyai data primary key yang terhubung dengan foreign key yang nantinya akan membentuk sebuah relasi tabel.

Membuat Database


Untuk membuat database di mysql maka ketikan perintah berikut ini :
create database multi_table;
Jika kalian belum mengerti tentang pembuatan database mysql silahkan baca : Belajar Membuat Database Mysql

Setelah database dibuat saatnya kita membuat beberapa tabel beserta isi datanya seperti berikut ini:


Tabel Jurusan



Tabel Kelas


Tabel Siswa


Instalasi Codeighniter 4


Jika belum paham tentang cara instalasi Codeigniter 4 bisa baca artikel Cara Installasi Codeigniter 4

Membuat Koneksi Database


Membuat Konfigurasi database di codeigniter 4 ada dua cara yaitu cara pertama dengan menggunakan file env (rename menjadi .env) yang ada di folder root project atau dengan file Database.php yang ada di folder app/config dan kali ini admin menggunakan file env untuk koneksi database nya .
 database.default.hostname = localhost
 database.default.database = ci4_multiTable
 database.default.username = root
 database.default.password =
 database.default.DBDriver = MySQLi
Temukan kode seperti diatas kemudian edit hilangkan tanda pagarnya lalu sesuaikan dengan host,username,password dan nama database kalian kemudian save as dengan nama .env jangan lupa juga ubah juga CI_ENVIRONMENT = development 

Membuat Model


Buatlah file baru dengan nama Models_siswa.php simpan di folder app/Models kemudian ketikan kode berikut ini :
<?php namespace App\Models;
use CodeIgniter\Model;
 
class Models_siswa extends Model
{
     
    public function getSiswa()
    {
         return $this->db->table('siswa')
         ->join('kelas','kelas.IDKelas=siswa.IDKelas')
         ->join('jurusan', 'jurusan.IDJurusan=siswa.IDJurusan')
         ->get()->getResultArray();  
    }
 }
Dari kode diatas kita membuat join tiga tabel dengan konsep relasi. yang nantinya akan dipanggil oleh file controller untuk diteruskan ke file view.
Jika belum paham tentang join bisa baca artikel Mengenal Fungsi Join di Tabel MySQL

Membuat Controller


Kita buat file baru dengan nama Siswa.php kemudian simpan di folder app/Controllers lalu masukan kode berikut ini :
<?php namespace App\Controllers;
 
use CodeIgniter\Controller;
use App\Models\Models_siswa;
 
class Siswa extends BaseController
{
    public function index()
    {
        $model = new Models_siswa();
        $data['siswa'] = $model->getSiswa();
        echo view('view_siswa',$data);
    }
}
Dari kode diatas terdapat beberapa kode yang berfungsi untuk memanggil function use (App\Models\Models_siswa; | $model = new Models_siswa(); | $data['siswa'] = $model->getSiswa();) yang ada di model kemudian akan diteruskan ke file views (echo view('view_siswa',$data);).

Membuat View


Buat file baru dengan nama view_siswa.php simpan di folder app/Views kemudian masukan beberapa kode dibawah ini :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Menampilkan Data Multi Join Tabel</title>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha/css/bootstrap.css" rel="stylesheet"> 
</head>
<body style="width: 70%; margin: 0 auto; padding-top: 30px;">
<div class="row">
        <div class="col-lg-12 margin-tb">
            <div class="pull-left">
                <h2>Menampilkan Data Multi Tabel </h2>
            </div>
        </div>
    </div>
    <hr>
    <div class="row">
        <div class="col-lg-12 margin-tb">
<table class="table table-bordered">
        <tr>
            <th>No</th>
            <th>Nama Siswa</th>
            <th>Kelas</th>
            <th>Jurusan</th>
        </tr>
        <?php foreach($siswa as $row):?>
        <tr>
        <td><?=$row['IDSiswa'];?></td>
            <td><?=$row['NamaSiswa'];?></td>
            <td><?=$row['NamaKelas'];?></td>
            <td><?=$row['NamaJurusan'];?></td>
        </tr>
        <?php endforeach;?>
    </table>
</div>
</div>
</body>
</html>

Kemudian kita jalankan projectnya dengan cara mengetikan perintah php spark serve di terminal kemudian ketikan alamat http://localhost:8080/siswa di web browser kalian maka tampilannya akan seperti berikut ini :
Itulah sedikit tutorial cara menampilkan data multi tabel dengan codeighniter 4 semoga bermanfaat.

0 Response to "Menampilkan Data multi Table di Codeigniter 4 dengan Join"

Post a comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel