Fungsi Insert Data Dalam Crud (Create Read Update Delete) Di Codeigniter

8 views

CRUD yaitu akronim dari Create Read Update Delete , yang sering dipakai pada aplikasi-aplikasi pengolahan data yang kebanyakan mengguanakan fungsi CRUD didalamnya . Fungsi ini dipakai untuk menambahkan data, menghapus data, serta mengupdate data.

Dalam artikel ini saya mencoba memperlihatkan sebuah pola penerapan crud sederhana di dalam codeigniter, sebelumnya mari kita bahas dulu apa saja yang diperlu dikonfigurasi di framework codeigniter ini : (perlu diketahui konfigurasinya terdapat pada folder config)

Ceritanya saya akan menciptakan aplikasi sederhana ihwal pengolahan data mangkir (namanya juga dongeng saya, jadi terserah saya aahahahahaa -agak sedikit pemaksaan-)

autoload.php

file ini berisi ihwal resource (library, helper, plugins, model, fungsi ) yang akan eksklusif di load secara otomatis dikala aplikasi akan dijalankan.

Misalnya :

$autoload['libraries']=array('database','form_validation','table');$autoload['helper']=array('form','url');$autoload['plugin']=array();$autoload['config']=array();$autoload['language']=array();$autoload['model']=array();

config.php,

konfigurasi dasar pada aplikasi yang akan dibuat. Konfigurasi pertama yang dilakukan yaitu memilih base_url() dari aplikasi anda

$config['base_url']="http://example.com/" <-- diisi sesuai dengan aplikasi;

Keuntungan memakai cara ini yaitu anda tidak perlu menulis ulang secara lengkap url jikalau diperlukan, contohnya untuk memilih action pada form. Cukup dengan memakai fungsi base_url(). Apalagi jikalau anda harus mengalihkan aplikasi anda pada server lain, maka anda cukup mengganti base_url anda.Hal kedua yaitu mengatur konfigurasi encrytion key untuk menjalankan session.

$config['encryption_key'] = 'iBo5B9'<-- diisi terserah;

database.php

$db['default']['hostname'] = "localhost";$db['default']['username'] = "root";$db['default']['password'] = "";$db['default']['database'] = "crud" ; <-- diisi sesuai dengan database yang sudah dibuat

 

Ok, tidak perlu kebanyakan basa kedaluwarsa ,mari kita lanjut ke langkah-langkahnya

Pertama-tama kita buat dulu tabel ‘tabel_person’ pada database untuk menyimpan data tersebut. Dengan perintah sql ibarat dibawah ini :

Create table ‘tabel_person’(‘id’ int(4) not null auto increment primary key,‘nama’ varchar(100),‘tgl_lahir’ date);

Tabel di dalam database sudah dibentuk , dan kini lanjut ke penulisan kode  sebab codeigniter itu bersifat MVC (model view controller), penulisan arahan apa duluan yang dilakukan ya ??? galau ??? jangan galau kita lakukan cuilan view terlebih dahulu

View(personInput.php)

saya menciptakan view dengan nama personInput.php dan disimpan dalam direktori view. Isi dari personInput.php sebagai berikut:

<form action="PersonController/input"><table border="0"><tr><td>Nama</td><td>:</td><td><input name="nama" type="text"></td></tr><tr><td>Tanggal Lahir</td> <td>:</td><td><select name="tanggal"><?php for($tgl=1;$tgl<=30;$tgl++):?><option value="<?php echo $tgl?>"><?php echo $tgl;?></option><?php endfor;?></select><select name="bulan"><?php for($bln=1;$bln<=12;$bln++):?><option value="<?php echo $bln?>"><?php echo $bln;?></option><?php endfor;?></select><select name="thn"><?php for($thn=1970;$thn<=2015;$thn++):?><option value="<?php echo $thn?>"><?php echo $thn;?></option><?php endfor;?></select></td></tr><tr><td rowspan="3"><input type="submit" name="submit" value="simpan"></td></tr></table></form>

 

View ini sangat sederhana, sangat dasar dan gampang dipahami.

Penjelasan :

  • <?php for($tgl=1;$tgl<=31;$tgl++):?> pada baris 13 merupakan perulangan yang nantinya akan ditampilkan sebagai tanggal dengan patokan 1 bulan = 31 hari.
  • <?php for($bln=1;$bln<=12;$bln++):?> pada baris 18 merupakan perulangan yang akan ditampilkan sebagai bulan dengan patokan 1 tahun=12 bulan.
  • <?php for($thn=1970;$thn<=2015;$thn++):?> pada baris 23 merupakan perulangan yang akan ditampilkan sebagai tahun dengan patokan dari tahun 1970-sampai 2015.
  • Tiga point diatas, nantinya akan include ke dalam 1 field dalam tabel person

Setelah view, kita mau nulis arahan apa lagi ???

kita akan melaksanakan penulisan arahan di cuilan model(perlu diketahui model ini tempaa semua fungsi-fungsi mengenai manipulasi database ibarat insert, update, delete, select , join dan lain-lain) .. mari kita lihat bagaimana penulisan kode-nya

model (personModel.php)

<?class PersonModel extends CI_Model{function insert(){$this->db->set('nama',$this->input->post('nama'));$this->db->set('tgl_lahir',$this->input->post('tahun').'-'.$this->input->post('bulan').'-'.$this->input->post('tanggal'));return $this->db->insert('tabel_person');}}?>

Penjelasan:

  • class personModel extends CI_Model, pada baris ke-1 maksudnya menciptakan class model dengan nama personModel.
  • Pada baris ke-3 hingga baris ke-7 merupakan fungsi insert data/ penambahan data
  • $this->db->set(‘nama’,$this->input->post(‘nama’)), pada baris ke- 4 merupakan fungsi untuk menge-set field nama dalam tabel_person dengan inputan dari view personInput.php dengan fungsi $this->input->post(‘nama’)).

Controller

Controller itu ibarat apa sih ?? bentar lagi dijelaskan kok (sabar…sabar…sabar)  pada pada dasarnya controller dipakai untuk menyatukan data yang dikirimkan dari view dan model , boleh dibilang sebagai pemrosesan data dari view dan model

Gimana penulisan kodenya ??

<?phpclass PersonController extends CI_Controller{ public function __construct() { parent::__construct(); $this->load->model('PersonModel'); } function index(){$this->load->view('personInput'); } function input(){ if($this->input->post('submit')):$this->PersonModel->insert(); endif; $this->load->view('personInput'); } }?>

Penjelasan:

  • class PersonController extends CI_Controller, maksudnya menciptakan class dengan nama PersonController, dengan catatan nama class harus diawali dengan huruf kapital.
  • Pada baris ke-7 hingga ke-9 merupakan fungsi default controller yang nanti jikalau ditampilkan fungsi ini yang akan ditampilkan.
  • Pada baris ke-10 hingga ke-15 merupakan fungsi input data dengan mengambil data dari model ($this->PersonModel->insert() ) dan juga view ($this->load->view(‘personInput’)).
Author: 
    author
    No related post!