Oke untuk sharing kali ini, saya akan menjelaskan proses membuat CRUD (create, read, update, dan delete) / (buat, baca, update, dan hapus) sederhana di Codeigniter 2.1.3. Alur hasil kode yang kita buat nanti adalah sebagai berikut. User bisa menambah artikel dengan disuguhi dua form input yaitu Judul dan Isi. Lalu Semua artikel yang ada di database akan di tampilkan di bawahya. Untuk proses hapus sobat tinggal klik di Judul yang ditampilkan. Untuk proses update kita manual lewat notepad. Karena saya hanya ingin menjelaskan bagaimana CRUD di CodeIgniter bekerja.
STEP 1 : Konfigurasi CodeIgniter
Buka file application\config\config.php rubah isinya menjadi
$config['base_url'] = 'http://localhost/email/'; //email adalah nama folder dalam localhostBuka file application\config\autoload.php dan load otomatis helper form dan url dengan merubah
$autoload['libraries'] = array('database'); $autoload['helper'] = array('url','form'); $autoload['model'] = array('site_model');
Buka file application\config\database.php dan rubah pengaturan database :
$db['default']['hostname'] = 'localhost'; $db['default']['username'] = 'root'; $db['default']['password'] = 'root'; $db['default']['database'] = 'ci_series'; $db['default']['dbdriver'] = 'mysql';
Note : Pastikan pengaturan database sobat, disini saya memakai mysql, username=root, password=root dan hostname=localhost. Kalau tidak seperti itu bisa disesuaikan dengan pengaturan database sobat. Catatan yang kedua pada baris ke-4 saya akan membuat database bernama ci_series seperti dibawah ini.
STEP 2 : Membuat Database
Buatlah database bernama ci_series dengan tabel bernama data yang mempunyai 3 field, yaitu id, title , content.
STEP 3 : Membuat Model
Buat file application\models\site_model.php dan isikan seperti dibawah ini :
<?php class Site_model extends CI_Model { function get_records() { $query = $this->db->get('data'); return $query->result(); } function add_record($data) { $this->db->insert('data', $data); return; } function update_record($data) { $this->db->where('id', 12); $this->db->update('data', $data); } function delete_row() { $this->db->where('id', $this->uri->segment(3)); $this->db->delete('data'); } }
STEP 4 : Membuat Controller
Buat file application\controllers\site.php dan isikan seperti dibawah ini :
<?php class Site extends CI_Controller { function index() { $data = array(); if($query = $this->site_model->get_records()) { $data['records'] = $query; } $this->load->view('options_view', $data); } function create() { $data = array( 'title' => $this->input->post('title'), 'content' => $this->input->post('content') ); $this->site_model->add_record($data); $this->index(); } function update() { $data = array( 'title' => 'My Freshly UPDATED Title', 'content' => 'Content should go here; it is updated.' ); $this->site_model->update_record($data); } function delete() { $this->site_model->delete_row(); $this->index(); } }
STEP 5 : Membuat View
Buat file application\views\options_view.php dan isikan seperti dibawah ini :
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>untitled</title> <style type="text/css" media="screen"> label {display: block;} </style> </head> <body> <h2>Create</h2> <?php echo form_open('site/create');?> <p> <label for="title">Title:</label> <input type="text" name="title" id="title" /> </p> <p> <label for="content">Content:</label> <input type="text" name="content" id="content" /> </p> <p> <input type="submit" value="Submit" /> </p> <?php echo form_close(); ?> <hr /> <h2>Read</h2> <?php if(isset($records)) : foreach($records as $row) : ?> <h2><?php echo anchor("site/delete/$row->id", $row->title); ?> </h2> <div><?php echo $row->content; ?></div> <?php endforeach; ?> <?php else : ?> <h2>No records were returned.</h2> <?php endif; ?> <hr /> <h2>Delete</h2> <p> To sample the delete method, simply click on one of the headings listed above. A delete query will automatically run. </p> </body> </html>
Kalau sobat ada yang kurang paham silakan kasih komen dibawah
kenapa punya saya kosongan ya pak
ReplyDeletekosong gmn?
Deletethanks mas bro, sudah saya coba running ... scriptnya, matur suwon sanget geh, mas.. gimana kalu kolobarinysa template pake easyui jquery, ada tutorialnya tidak?..
ReplyDeleteyaa, ni masih sibuk sama tugas2 yang laen.
Deletebelum sempet nulis.
di tunggu aja ya.
maaf.
makasih udah mampir
nice tutorial..
ReplyDeletekalau CRUD nya menggunakan jquery easyui gmana gan..
posting tutorialnya dong...
yaa, ni masih sibuk sama tugas2 yang laen.
Deletebelum sempet nulis.
di tunggu aja ya. herudin
bagaiaman kalau project yg kita buat menggunakan ci ini ada beberapa???konfigurasinya bgmana??
ReplyDeleteapa harus buat dua konfigurasi atau mengubah konfigurasi lagi???
maaf..gan. masih newbie soal ci
visit to view : http://aripoknga.blogspot.com/2013/03/tips-memaksimalkan-tampilan-website-dan-blog.html
kita bisa buat beberapa aplikasi dengan satu folder system ci. caranya bisa di baca di user_guide tentang Managing your Applications.
Deletesecara ringkasnya, umpama ari punya 2 projek "SEKOLAH" dan "DULU" maka struktur dari folder application ari akan tampak seperti ini.
applications/sekolah/
applications/sekolah/config/
applications/sekolah/controllers/
applications/sekolah/errors/
applications/sekolah/libraries/
applications/sekolah/models/
applications/sekolah/views/
applications/dulu/
applications/dulu/config/
applications/dulu/controllers/
applications/dulu/errors/
applications/dulu/libraries/
applications/dulu/models/
applications/dulu/views/
kemudian ganti file di application seperti ini
$application_folder = "applications/sekolah";
untuk yang projek sekolah.
dan dalam pemanggilan di localhost, tambahi nama folder ari dibelakangnya.
matur nuwun sanget mas, ilmu nya bermanfaat
ReplyDeleteBelum dicoba sih...xixi...
mas mau tanya kalo cara menghilangkan index.php pada pemanggilan url gimana ya
misalnya: localhost/crud/index.php/latihan
ingin jadi localhost/crud/latihan, seperti pemanggilan php local pada umumnya
dengan menambahkan file .htaccess di luar folder system.
Deleteatau juga menambahi skrip di controller anda.
tapi yang paling sering digunakan yang memakai file .htaccess
mas itu kita ngetes di urlnya apa ya mas aku bingung mas..?
ReplyDeletelocalhost/email.
Deletesama seperti $config['base_url']
Portofolio mas nya udah apa aja mas klo boleh tau?
ReplyDeletelokasi dmn? masih kuliah?
portofolio masih dikit mas, ada toko online, si managemen agen memo, dll.
Deletedi kediri mas.
masih kuliah sekarang, tingkat akhir
upload ulang gan..
ReplyDeleteemail ane ananggugel@gmail.com
ok sudah
Deleteupdatenya gmn?
ReplyDeleteok sudah
Deletemas kenapa pas di submit jadi error yaaa
ReplyDeleteGan mau tanya kenapa ya pas di akses di browser seperti ini:
ReplyDeleteAn Error Was Encountered
Unable to load the requested file: helpers/uri_helper.php
Thanks gan
mas punya saya database nya error tolong pencerahannya
ReplyDeleteuntuk insert gambar sama updatenya mana gan?
ReplyDeletehttp://www.smartkiosku.com
http://www.kudupinterkabe.blogspot.co.id