Codeigniter Dasar – Membuat Insert Data

Dalam tiap aplikasi, yang paling dasar adalah CRUD (Create Update Delete ) data. Sekarang saya ingin belajar bagaimana step by step membuat CRUD dengan Codeigniter. Tutorial ini sangat dasar, sehingga cocok bagi para pemula seperti saya :D. Pertama adalah membuat Insert data.

Ceritanya saya mau membuat aplikasi pencatat pengeluaran keuangan harian saya (namanya juga ceritanya, jadi terserah saya ya…). Folder codeigniternya saya kasih nama ci_ku. Terus isi config.php yang diubah cuma bagian base_url aja (sesuaikan dengan folder aplikasi kamu).

config.php

...
$config['base_url']	= "http://localhost/ci_ku/";
…

File autoload.php dan database.php saya sebagai berikut (diringkas lho, ini cuma yang saya ubah, ga semua):

autoload.php

...
$autoload['libraries'] = array('database');
....
$autoload['helper'] = array('url','form');
....

database.php

...
$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "";
$db['default']['database'] = "ci_ku";
...

Pertama, kita buat dahulu table ‘daily’ pada database untuk menyimpan data tersebut. Table daily bisa dibuat menggunakan perintah SQL sebagai berikut :

CREATE TABLE `ci_ku`.`daily` (
`id` INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`date` DATE NOT NULL ,
`name` VARCHAR( 64 ) NOT NULL ,
`amount` DOUBLE NOT NULL
) ENGINE = MYISAM ;

Lets go, mari membuat kodenya. Saya membuat view dengan nama input.php dan disimpan dalam direktori ‘views/daily/input.php’ isi input.php adalah sebagai berikut

Daily Notes</pre>
<h2>Daily Notes</h2>
<div id="form_input">
<table><?php echo form_open('daily/submit'); ?>
<tbody>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
</tr>
</tbody>
</table>
</div>
<pre>

View yg sangat sederhana, sangat dasar 😀 pasti mudah dipahami (setidaknya bagi saya hehehe). Selanjutnya untuk memproses view tersebut, kita buat controller dengan nama daily.php. Isi dari controller daily.php adalah sebagai berikut :

<?php class Daily extends Controller{ function __construct (){ parent::Controller(); $this->load->model('MDaily');
}

function index(){
$this->load->view('daily/input');
}

}

Sangat sederhana, karena baru memanggil fungsi index untuk memproses view yg tadi kita buat (pada baris ke 9). Terus untuk memproses ketika menyimpan data bagaimana? Oh ya hampir lupa ya :D. Pada input.php form yang kita buat, memiliki action ke ‘daily/submit’ itu berarti kita harus membuat fungsi submit pada controller untuk memproses data yang di masukkan. Fungsinya sederhana sebagai berikut :

<?php class Daily extends Controller{ //...kode sebelumnya... function submit(){ if ($this->input->post('submit'))
{
$this->MDaily->save();
}
redirect('daily/index');
}
}

Intinya sih memanggil Model Mdaily dan menjalankan fungsi save pada model Mdaily. Setelah itu di redirect/diarahkan ke view (‘daily/index’)

Selanjutnya membuat model Mdaily dan fungsi save untuk menyimpan data tadi. Isinya sebagi berikut:

<?php class MDaily extends Model{ function __construct () { parent::Model(); } function save() { $date = $this->input->post('date');
$name = $this->input->post('name');
$amount=$this->input->post('amount');
$data = array(
'date'=>$date,
'name'=>$name,
'amount'=>$amount
);
$this->db->insert('daily',$data);
}

}

Kayanya udah jelas ya?? Sekarang udah bisa dicoba masukin data trus check deh tabelnya pake mysql atau phpmyadmin, udah masuk belum?

Oh ya, hampir lupa, kalo ngakses aplikasi ini di

http://localhost/ci_ku/index.php/daily 

Terus nampilin datanya gmn donk?? Sabar, biar ga kepanjangan kita teruskan pada cerita berikutnya ya.. Happy Igniting..