Menampilkan Objek data tunggal dari Controller ke View pada CodeIgniter 3



gurukomline.com. ditutorial sebelumnya saya sudah membahas bagaimana caranya menampilkan data tunggal dari controller ke view. Dan tutorial kali ini saya akan menjelaskan bagaimana melewatkan data yang berbentuk Object dari Controller ke View. Pada dasarnya sama aja dengan tutorial sebelumnya melewatkan data dari Controller ke View, bedanya kali ini yang akan kita lewatkan data berupa Object.

Pada studi kasus kali ini, kita akan membuat satu object dengan nama barang yang di dalamnya terdiri dari kode, nama, harga, jumlah, pic. pic digunakan untuk menampung semua nama file gambar yang sudah di simpan di folder pic dan nanti akan kita tampilkan ke view. Biar lebih jelas dan tanpa basa-basi, ikuti aja ya tutorialnya.

Set BASE URL

  • Buka file config.php dalam folder config. 
  • Dan set Nilai variabel base_url seperti di bawah ini
1 $config['base_url'] = 'http://localhost/stok_barang/';


Buatkan Folder Pic

Untuk menyimpan data gambar, kita harus membuat folder baru untuk mempermudah dalam penyimpanan file gambar. Langkah-langkahnya sebagai berikut:

  • Buatkan Folder baru di root folder dengan nama assets
  • Buatkan Folder baru di dalam folder assets dengan nama pic


Buatkan Object dengan nama barang

Buatkan satu buah file baru dengan nama barang.php di dalam folder models  dan tuliskan kode program seperti dibawah ini:
1 <?php
2 defined('BASEPATH') OR exit('No direct script access allowed');
3
4 class barang  {
5 var $kode;
6 var $nama;
7 var $harga;
8 var $jumlah;
9 var $pic;
10
11 function __construct($kode,$nama,$harga,$jumlah,$pic){
12  $this->kode = $kode;
13  $this->nama = $nama;
14  $this->harga = $harga;
15  $this->jumlah = $jumlah;
16  $this->pic = $pic;
17 }
18 }
19
20 /* End of file barang.php */
21 /* Location: ./application/models/barang.php */

Object baru dengan nama barang yang didalamnya terdiri dari 5 field yaitu (kode,nama,harga,jumlah,pic) yang nantinya akan digunakan oleh model Barang_model.php.

Buatkan model dengan nama Barang

Buatkan satu buah model dengan nama Barang_model.php di dalam folder models dan tuliskan kode program seperti di bawah ini:

1 <?php
2 defined('BASEPATH') OR exit('No direct script access allowed');
3
4 require 'barang.php';
5
6 class Barang_model extends CI_Model {
7
8 function Cari()
9 {
10  return new barang('B001','Kerta A4 70 gram',45000,4,'A470.jpg');
11 }
12 }
13
14 /* End of file Barang_model.php */
15 /* Location: ./application/models/Barang_model.php */

Keterangan
Baris ke 10 memanggil object barang dan mengisikan data fieldnya, nantinya akan digunakan oleh Controller untuk mengambil data dan kemudian di kirim ke View untuk ditampilkan ke user.

AutoLoad Model Barang

Buka file autoload.php yang ada di dalam folder config dan kemudian atur nilai dari variabel model seperti kode program dibawah ini:
135 $autoload['model'] = array('Barang_model'=>'barangModel');

Buatkan satu buah Controller

Buatkan satu buah Controller baru dengan nama Latihan4.php di dalam folder controllers, kemudian tuliskan kode program sebagai berikut:
1 <?php
2 defined('BASEPATH') OR exit('No direct script access allowed');
3
4 class Latihan4 extends CI_Controller {
5
6 public function index()
7 {
8  $data['barang'] = $this->barangModel->Cari();
9  $this->load->view('latihan/lat4', $data);
10 }
11
12 }
13
14 /* End of file Latihan4.php */
15 /* Location: ./application/controllers/Latihan4.php */

Set Default Controller

  • Buka file routes.php di dalam folder config.
  • Dan set Nilai variabel default_controller seperti di bawah ini:

$route['default_controller'] = 'latihan4';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;


Keterangan

default_controller adalah controller yang akan di akses pertama kali jika kita mengakses halaman web kita. Pada contoh diatas kita set default_controller yaitu controller Latihan3.php yang sudah kita buat sebelumnya. Jadi ketika kita akses web dengan url http://localhost/stok_barang/, maka yang akan aktif pertama kali adalah controller Latihan4.php.

Membuat View


  • Buatkan satu buah folder baru dengan nama latihan di dalam folder  views.
  • Didalam folder latihan  buatkan satu buah file dengan nama lat4.php, sebagai berikut:
1 <?php
2 defined('BASEPATH') OR exit('No direct script access allowed');
3 ?>
4 <!DOCTYPE html>
5 <html>
6 <head>
7 <meta charset="utf-8">
8 <meta http-equiv="X-UA-Compatible" content="IE=edge">
9 <title>Latihan 4 Melewatkan Data Obejct dari Controller ke View</title>
10 <link rel="stylesheet" href="">
11 </head>
12 <body>
13 
14 <table border="1" cellpadding="2" cellspacing="2">
15  <caption>Data Barang</caption>
16  <thead>
17   <tr>
18    <th>Kode Barang</th>
19    <th>Nama Barang</th>
20    <th>Harga</th>
21    <th>Jumlah</th>
22    <th>Total</th>
23    <th>Gambar</th>
24   </tr>
25  </thead>
26  <tbody>
27   <tr>
28    <td><?php echo $barang->kode;?></td>
29    <td><?php echo $barang->nama;?></td>
30    <td><?php echo $barang->harga;?></td>
31    <td><?php echo $barang->jumlah;?> Rim</td>
32    <td><?php echo $barang->harga*$barang->jumlah;?></td>
33    <td><img src="<?php echo base_url();?>assets/images/<?php echo $barang->pic;?>"></td>
34   </tr>
35  </tbody>
36 </table>
37 </body>
38 </html>

Keterangan
view lat4.php ini merupakan file untuk menampilkan data ke user, sehingga kita bisa menggunakan kode html dan kita juga bisa menggunakan bantuan framework CSS seperti Bootstap agar tampilan bagus dan cepat membuatnya.
Perhatikan baris ke 28-33 merupakan data yang diambil dari Controller yang dilewatkan dengan nama $barang yang merupakan data Object yang berisi 5 field (kode,nama,harga,jumlah,pic).

Jalankan dan Lihat Hasilnya


Untuk melihat hasilnya silahkan ketikan url http://localhost/stok_barang/, dan kalo berhasil akan muncul seperti gambar dibawah ini.



Selamat Mencoba semoga berhasil.

Subscribe to receive free email updates:

0 Response to "Menampilkan Objek data tunggal dari Controller ke View pada CodeIgniter 3"

Post a Comment