Menggunakan Models Pada Frameworks CodeIgniter
Pengenalan Framework CodeIgniter
Berikut kita akan belajar membuat CRUD data barang :
– nama id type data int panjang 11
– nama nama type data int panjang 150
– nama harga type data float panjang 11
– nama stok type data int panjang 11
Tabel data_barang |
$db[‘default’][‘hostname’] = ‘localhost’; // masukkan host name
$db[‘default’][‘username’] = ‘root’; // user name root default
$db[‘default’][‘password’] = ”; // pass kosong default
$db[‘default’][‘database’] = ‘CRUDCodeIgniter’; // nama database
$config[‘base_url’] = ‘http://localhost:81/CRUDCodeIgniter/’;
// silahkan di ubah sesuai konfigurasi anda
//nama class harus diawali dengan kapital, walaupun nama file semua kecil
class Data_produk extends CI_Controller {public function index()
{
$this->load->helper(‘url’);
$this->load->database(); //memanggil pengaturan database dan mengaktifkannya
$this->load->model(‘m_data_produk’); //memanggil model m_data_produk
$data[‘data_produk’] = $this->m_data_produk->list_data();//memanggil fungsi di model dan menerima hasil fungsi yang dimasukan ke $data[‘data_produk’]
$this->load->view(‘v_data_produk’,$data);//memanggil view yang nanti kita akan buat dan memasukan $data dari model tadi
}
public function Input()
{
$this->load->helper(‘form’);//memanggil helper form nanti penggunaannya di v_input_produk.php
$data[‘type’]=”INPUT”;// definisi type, karena nanti juga ada edit
$this->load->view(‘v_input_produk’,$data);// memanggil view v_input_produk.php
}
public function Edit()
{
$this->load->helper(‘form’);//memanggil helper form nanti penggunaannya di v_input_produk.php
$this->load->database();//memanggil pengaturan database dan mengaktifkannya
$this->load->model(‘m_data_produk’);//memanggil model m_data_produk.php
$id = $this->input->get(‘produk’);//mengambil param produk dari get
$data[‘produk’] = $this->m_data_produk->getEdit($id);
$data[‘type’]=”EDIT”;// definisi type, karena nanti juga ada edit
$this->load->view(‘v_input_produk’,$data);// memanggil view v_input_produk.php
}
public function Post(){
$this->load->database();//memanggil pengaturan database dan mengaktifkannya
$this->load->model(‘m_data_produk’);//memanggil model m_data_produk.php
//mengambil data dari post memasukan ke array agar lebih mudah
$param = array(
‘nama’ => $this->input->post(‘nama’),
‘harga’ => $this->input->post(‘harga’),
‘stok’=> $this->input->post(‘stok’)
);
//jika simpan == input
if($this->input->post(‘simpan’)==”INPUT”){
$this->m_data_produk->input($param);
}else
if($this->input->post(‘simpan’)==”EDIT”){
$id= $this->input->post(‘id’);
$this->m_data_produk->edit($param,$id);
}
//memanggil helper url untuk fungsi redirect
$this->load->helper(‘url’);
//mengalihkan ke list data produk setelah input atau edit selesai
redirect(‘data_produk’,’refresh’);
}
public function Delete(){
$this->load->database();//memanggil pengaturan database dan mengaktifkannya
$this->load->model(‘m_data_produk’);//memanggil model m_data_produk.php
$id = $this->input->get(‘produk’);
$this->m_data_produk->delete($id);
$this->load->helper(‘url’);
redirect(‘data_produk’,’refresh’);
}
}
class M_data_produk extends CI_Model {
function __construct()
{
// Memanggil Model constructor
parent::__construct();
}
function list_data(){
$query = $this->db->get(‘data_barang’);// mengambil semua data dari tabel data_barang
return $query->result();// mengembalikan ke controller hasil dari query ke table data_barang
}
function input($param){
$this->db->insert(‘data_barang’,$param);
return true;
}
function getEdit($id){
$this->db->where(‘id’,$id);
$query = $this->db->get(‘data_barang’);
return $query->result();
}
function edit($param,$id){
$this->db->where(‘id’,$id);
$this->db->update(‘data_barang’,$param);
return true;
}
function delete($id){ // hapus data berdasarkan id
$this->db->where(‘id’,$id);
$this->db->delete(‘data_barang’);
}
}
isi file v_data_produk.php |
Hasilnya :