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
[php]
…
$config[‘base_url’] = "http://localhost/ci_ku/";
…
[/php]
File autoload.php dan database.php saya sebagai berikut (diringkas lho, ini cuma yang saya ubah, ga semua):
autoload.php
[php]
…
$autoload[‘libraries’] = array(‘database’);
….
$autoload[‘helper’] = array(‘url’,’form’);
….
[/php]
database.php
[php]
…
$db[‘default’][‘hostname’] = "localhost";
$db[‘default’][‘username’] = "root";
$db[‘default’][‘password’] = "";
$db[‘default’][‘database’] = "ci_ku";
…
[/php]
Pertama, kita buat dahulu table ‘daily’ pada database untuk menyimpan data tersebut. Table daily bisa dibuat menggunakan perintah SQL sebagai berikut :
[php]
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 ;
[/php]
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
[php]
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>
[/php]
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]
<?php class Daily extends Controller{ function __construct (){ parent::Controller(); $this->load->model(‘MDaily’);
}
function index(){
$this->load->view(‘daily/input’);
}
}
[/php]
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]
<?php class Daily extends Controller{ //…kode sebelumnya… function submit(){ if ($this->input->post(‘submit’))
{
$this->MDaily->save();
}
redirect(‘daily/index’);
}
}
[/php]
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]
<?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);
}
}
[/php]
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
[php]http://localhost/ci_ku/index.php/daily [/php]
Terus nampilin datanya gmn donk?? Sabar, biar ga kepanjangan kita teruskan pada cerita berikutnya ya.. Happy Igniting..
mas saya dach coba tutorial yg ini,, tapi pada saat di klik submit kq muncul peringtatan sperti ini :
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Daily::$MDaily
Filename: controllers/daily.php
Line Number: 17
Fatal error: Call to a member function save() on a non-object in C:\xampp\htdocs\edi\system\application\controllers\daily.php on line 17
silahkan di cek pada baris error yang disebutkan. Cek juga nama controller dan nama modelnya
sma mas sya juga error kya gitu
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Daily::$MDaily
Filename: controllers/daily.php
Line Number: 19
Fatal error: Call to a member function save() on a non-object in C:\xampp\htdocs\belajar_ci\application\controllers\daily.php on line 19
sya sudah cek berulang kaliii tp masih kya gitu yng slah dmna mas??
Model nya sudah di load?
pastikan ada script
$this->load->model('MDaily');
thx, bro…., ane lagi cari pemahaman dasar codeigniter tutorialnya sangat membantu, ntar ane konsultasi biar lebih paham lagi. he he he he he…
sama-sama, senang bisa membantu
mas,ko punya saya object not found terus yah????
object not found terjadi karena file yang di tunjuk di URL tidak ada, coba periksa lagi link nya atau file nya 🙂
mas,kalo saya knapa ya pas di submit malah gini
“404 Page Not Found
The page you requested was not found.”
kenapa yah??
Lihat link yang dituju, nama controller nya mungkin berbeda? dari error nya kan udah kelihatan kalo file yang di tuju tidak ada 🙂
$config[‘base_url’] = “http://localhost/ci_ku/”;
harus pake http:// mas delie….
aku tadi juga gitu….
Thanks dudu.web.id
tp buat CI 2.0
untuk controller daily.php
class Daily extends CI_Controller{
function __construct (){
parent::__construct();
$this->load->model(‘MDaily’);
}
……
dan buat model MDaily.php
class MDaily extends CI_Model{
function __construct ()
{
parent::__construct();
}
…….
Regards
Happy Coding
kak bikin databse nya gimana ya? mohon pencerahan nya
pake mysql, itu scriptnya udah ada di post 🙂
pakai CI versi berapa??
soalnya saya pakai versi 2.0.1
agak bingung banayk berbeda
pake 1.7.3
Mas. File Submitnya thu bikin baru kemudian simpan di Controllers yach???
dibuat di controller saja 🙂
saya suah buat submit.php di Controllers tetapi ketika saya menjalankan.. SUbmit saya not Found Mas
submit.php?
perhatikan pada view, form action diarahkan ke daily/submit yang artinya di controller daily dibuat function submit
input->post(‘submit’))
{
$this->MDaily->save();
}
redirect(‘daily/index’);
}
}
saya save dengan nama apa?? pada folder apa mas??? Mohon Bantuan
di folder controllers, di save namanya daily.php
Saya mengalami error yang sama ketika mencoba script diatas.
kelika submit buttonnya diklik kok malah “page not found”
page not found berarti link nya salah, bisa dilihat URL nya mengarah kemana?
ijin sedot page ya mas 😀
silahkan 🙂
untuk teman semua jika menemukan pesan error Severity: Notice
Message: Undefined property: Daily::$MDaily
Filename: controllers/daily.php
Line Number: 19 itu berati model salah ketik periksa di model tambahkan CI_Model misal :
class Mdailyl extends CI_Model {
……
}
trims….semangat
yup.. tetapi karena ini masih pake CI versi 1.7.3 maka pake class MDaily extends Model.. Perhatikan juga penulisan huruf besar dan kecil MDaily berbeda dengan Mdaily
mas dwi…. aqu dah coba yg
bagian CRUD yg bagian “Codeigniter Dasar – Membuat Insert Data” tp mlah ada pesan sperti dbwah ni untuk DATE..
gmn cra perbaikinya ya mas??
————————————————————————————————————————-
A PHP Error was encountered
Severity: Warning
Message: date() [function.date]: It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Asia/Krasnoyarsk’ for ‘7.0/no DST’ instead
Filename: views/input.php
Line Number: 14
itu karena setingan php.ini pada server Anda 🙂
silahkan buka php.ini pada server, hapus tanda titik koma di depan kata date_default_timezone_set() atau date.timezone
d php.ini ada sepeti ini: ;date.timezone = nah yg titik koma nya ja kah yh cmu dhilangkan? dan hnya bgian itunya sja kah? cz nuy dah hilangkan n hsilnya tetap sperti semula pesan d atas…:)
date.timezone = “UTC”
kemudian restart webservernya (apache/xampp nya)
mas, mau nanya
maksud dari apa ya?
daily nya apa, dan submit nya apa?
trimakasih atas jawabannya mas
saya kurang paham maksud “apa” dari pertanyaan anda
Mas, kok saya coba dengan code igniter 2.2
ada error ini ya?
Fatal error: Call to undefined function form_open() in C:\xampp\htdocs\CodeIgniter\SimpelInsert\application\views\daily\input.php on line 11
kira2 kenapa ya?
thx & regards
Wira
oh maaf mas sudah bisa, lupa ngubah di config.php yang helpernya..
Sebenarnya fungsi dari helper itu apa ya mas?
Sebenarnya fungsi index itu apakah sama dengan fungsi construct ya mas?
Thx & Regards
Wira
construct adalah konstruktor (pelajari OOP), sedangkan index adalah nama method / fungsi (biasanya diakases paling awal)
kalau mau buat paging gimana ya mas?
apa ada tutorialnya??
koq kalo aq submit ga insert data malah lari kehalaman http://localhost/xampp/
da pa ya mas? makasih bwat share ilmunya
datanya sudah masuk database?
coba di lihat di view nya bagian
[php]
<?php echo form_open(‘daily/submit’); ?>
[/php]
itu harusnya submit menuju controller daily, function submit,
tengkyu om dudu, saya lagi mencoba memahami sistem CI. Tutorialnya sangat membantu dan langsung sukses…dengan CI 1.7.3
kok
Fatal error: Call to a member function nama_fungsi() on a non-object
terus ya?
berarti method function nama_fungsi() belum dibuat..
Tq tutorial na…..
agan…
delete nya kok ndk mau jln ya??
pada url nya ada tanda # nya…
mohon bantuannya agan
memang belum ada, lanjut di artikel brikutnya
bos kalo tutor web mobile versi wml nya ada ga bos?
sent to my inbox ilulchan@yahoo.co.id
kak,, sy dah ikutin tutorialnya …
1. pas sy klik submitnya memang ‘object not found ‘
karena url nya jadi gini : http://localhost/latihan/localhost/latihan/index.php/daily/submit.
benerkan redirectnya seperti ini.. ‘redirect(‘daily/index’);’ ?
2. Dan didatabase datanya gak masuk … knp ya?
mohon bantuannya kk.. trims,,
redirectnya bener:)
kalo daily/submit not found berarti belum buat function submit donk
[php]
function submit(){
if ($this->input->post(‘submit’)){
$this->MDaily->save();
}
redirect(‘daily/index’);
}
}
[/php]
Mas knp harus connect internet baru keluar hasilnya? kalo offline gak jalan ta?
masak? kalo yang ini kayaknya bisa ko offline, mungkin settingan browser kamu yang “mode offline”, coba pake chrome
hallo mas dudu,
saya mau tanya untuk:
function __construct (){
parent::Controller();
fungsi diatas itu artinya apa ya? secara bahasa mudahnya gitu?
terimakasih, sukses selalu.
itu adalah controller.. kalo di CI versi terbaru di ganti seperti ini
[php]
function __construct(){
parent::__construct();
}
[/php]
apa itu konstruktor? pelajari OOP ya 🙂
konstruktor
OOP? ok, saya akan cari… 🙂
terimakasih buat link nya juga, sukses selalu.
gan kalau script
Class Guest_model extends Model{ function __construct(){ parent::Model(); }
fungsinya buat apa ya gan..
ane bingung, maklum baru belajar kemarin sore 😀
arti extends adalah “mewarisi” dari class base nya dalam hal ini Model (atau CI_Model).
Mas untuk function submit udh dibuat, tapi data tetep ga bs masuk itu knp ya?
salah query
Kenapa saya buat tidak menjadi. hanya keluar seperti ini
Daily Notes
Daily Notes
Mana form untuk submit data?
Script ini adalah versi codeigniter 1.7x, jika menggunakan codeigniter versi terbaru akan tidka cocok.
SIlahkan cek kembali script yang telaha Anda buat.
salam kenal gan… ane achie …gan minta help nih… di web ci 173 saya ketika klik “add to chart / add to wishlist” muncul error… “page not found … error 404…” trims a lot buat pencerahanya gan… 🙂
fungsi/halamannya belum ada
tapi di localhost saya berjalan dengan lancar gan… apakah ada kesalahan dimana… gitu… dan apa tindakan saya biar bisa jalan normal seperti di localhost??… matur tengkyu sebelumnya
cek URL nya sudah adakah di controller?
sudah ada gan… untuk diketahui saya menggunakan spanel, apakah itu ada pengaruhnya? terima kasih sebelumnya…
kayaknya ga ngaruh deh, cek URLnya, cek functionnya sudah sama atau belum.
Intinya URL itu memanggil function yang ada di controller
mau tnya dong mas
selalu muncul pesan Parse error: syntax error, unexpected T_CLASS, expecting T_FUNCTION in C:xampphtdocsCIapplicationcontrollersmoti.php on line 12
itu knpa??
trims
salah ketik class nya
input->post(‘submit’))
{
$this->MDaily->save();
}
redirect(‘daily/index’);
}
}
klu gk slah jdi gini kan yg bnrnya
input->post(‘submit’)){
$this->MDaily->save();
}
redirect(‘daily/index’);
}
}
iya enggk 🙂
sip 🙂
assalamualaikum saya newbie dalam masalah CRUD, yang saya mau tanyakan maksud dari pesan error ini apa ya, ” Fatal error: Call to undefined method Model::InsertData() in C:xampphtdocscodeapplicationcontrollerswelcome.php on line 15 “
walaikumsalam
artinya pada model tidak ditemukan function InsertData(),silakan di cek kembali model yang sudah dibuat