Your Ad Here

Codeigniter Dasar – Membuat Insert Data

Apr 13 2010

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 :D 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..




56 responses so far

  1. [...] dasar – Menampilkan dan Menghapus DataCodeigniter Dasar – Membuat Insert DataHow To Convert CHM Files To PDF In [...]

  2. 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

  3. silahkan di cek pada baris error yang disebutkan. Cek juga nama controller dan nama modelnya

  4. thx, bro…., ane lagi cari pemahaman dasar codeigniter tutorialnya sangat membantu, ntar ane konsultasi biar lebih paham lagi. he he he he he…

  5. sama-sama, senang bisa membantu

  6. [...] Codeigniter Dasar – Membuat Insert Data [...]

  7. mas,ko punya saya object not found terus yah????

  8. object not found terjadi karena file yang di tunjuk di URL tidak ada, coba periksa lagi link nya atau file nya :)

  9. mas,kalo saya knapa ya pas di submit malah gini
    “404 Page Not Found
    The page you requested was not found.”
    kenapa yah??

  10. Lihat link yang dituju, nama controller nya mungkin berbeda? dari error nya kan udah kelihatan kalo file yang di tuju tidak ada :)

  11. 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??

  12. Model nya sudah di load?

    pastikan ada script $this->load->model('MDaily');

  13. 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

  14. kak bikin databse nya gimana ya? mohon pencerahan nya

  15. pake mysql, itu scriptnya udah ada di post :)

  16. pakai CI versi berapa??
    soalnya saya pakai versi 2.0.1
    agak bingung banayk berbeda

  17. pake 1.7.3

  18. Mas. File Submitnya thu bikin baru kemudian simpan di Controllers yach???

  19. dibuat di controller saja :)

  20. saya suah buat submit.php di Controllers tetapi ketika saya menjalankan.. SUbmit saya not Found Mas

  21. submit.php?

    perhatikan pada view, form action diarahkan ke daily/submit yang artinya di controller daily dibuat function submit

  22. input->post(‘submit’))
    {
    $this->MDaily->save();
    }
    redirect(‘daily/index’);
    }
    }

    saya save dengan nama apa?? pada folder apa mas??? Mohon Bantuan

  23. di folder controllers, di save namanya daily.php

  24. Saya mengalami error yang sama ketika mencoba script diatas.
    kelika submit buttonnya diklik kok malah “page not found”

  25. page not found berarti link nya salah, bisa dilihat URL nya mengarah kemana?

  26. ijin sedot page ya mas :D

  27. silahkan :)

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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…:)

  33. date.timezone = “UTC”
    kemudian restart webservernya (apache/xampp nya)

  34. mas, mau nanya

    maksud dari apa ya?

    daily nya apa, dan submit nya apa?

    trimakasih atas jawabannya mas

  35. saya kurang paham maksud “apa” dari pertanyaan anda

  36. 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

  37. 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

  38. kalau mau buat paging gimana ya mas?
    apa ada tutorialnya??

  39. construct adalah konstruktor (pelajari OOP), sedangkan index adalah nama method / fungsi (biasanya diakases paling awal)

  40. koq kalo aq submit ga insert data malah lari kehalaman http://localhost/xampp/
    da pa ya mas? makasih bwat share ilmunya

  41. datanya sudah masuk database?

    coba di lihat di view nya bagian

    <?php echo form_open('daily/submit'); ?>
    

    itu harusnya submit menuju controller daily, function submit,

  42. tengkyu om dudu, saya lagi mencoba memahami sistem CI. Tutorialnya sangat membantu dan langsung sukses…dengan CI 1.7.3

  43. kok
    Fatal error: Call to a member function nama_fungsi() on a non-object

    terus ya?

  44. berarti method function nama_fungsi() belum dibuat..

  45. Tq tutorial na…..

  46. agan…
    delete nya kok ndk mau jln ya??
    pada url nya ada tanda # nya…
    mohon bantuannya agan

  47. memang belum ada, lanjut di artikel brikutnya

  48. bos kalo tutor web mobile versi wml nya ada ga bos?

    sent to my inbox ilulchan@yahoo.co.id

  49. 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,,

  50. redirectnya bener:)

    kalo daily/submit not found berarti belum buat function submit donk

    function submit(){
    		if ($this->input->post('submit')){
    			$this->MDaily->save();
    		}
    			redirect('daily/index');
    		}
    	}
    
  51. Mas knp harus connect internet baru keluar hasilnya? kalo offline gak jalan ta?

  52. masak? kalo yang ini kayaknya bisa ko offline, mungkin settingan browser kamu yang “mode offline”, coba pake chrome

  53. [...] Codeigniter dasar – Membuat insert data [...]

  54. hallo mas dudu,

    saya mau tanya untuk:

    function __construct (){
    parent::Controller();

    fungsi diatas itu artinya apa ya? secara bahasa mudahnya gitu?

    terimakasih, sukses selalu.

  55. itu adalah controller.. kalo di CI versi terbaru di ganti seperti ini

    function __construct(){
    parent::__construct();
    }
    

    apa itu konstruktor? pelajari OOP ya :)
    konstruktor

  56. OOP? ok, saya akan cari… :)

    terimakasih buat link nya juga, sukses selalu.

Leave a Reply


× 4 = 4

Switch to our mobile site