Tutorial Codeigniter 3 Bagian #4 : CRUD Insert Data

Tutorial Codeigniter 3 Bagian #4 : CRUD Insert Data

loading....

Setelah pada artikel sebelumnya kita belajar menampilkan data dari database, kita akan melanjutkan ke pembahasan tentang CRUD, namun artikel ini akan fokus membahas bagaimana cara kita menginput atau memasukan data dari database. Biar lebih mengerti baik nya anda membaca terlebih dahulu artikel saya sebelumnya tentang menampilkan data dari database.

View form

Membuat form untuk menambah data

Buatlah form pada file crud_form_tambah.php untuk menambahkan data dan letakan pada directory view. Untuk pembuatan form ini saya menggunakan form helper dari ci3 oleh karena itu kita harus load dulu helper nya dengan cara menasukan perintah

$this->load->helper('form');

setelah itu kita tinggal buat form nya dengan memasukan perintah di bawah ini

<?php
echo form_open('crud/tambah');
?>
<table>
<tbody>
<tr>
<td colspan="2">
<h2>Tutorial Tambah data denngan Codeigniter</h2>
</td>
</tr>
<tr>
<td>Nama Tutorial</td>
<td>: <?php echo form_input('nama_tutorial'); ?></td>
</tr>
<tr>
<td>Isi Tutorial</td>
<td>: <?php echo form_textarea('isi_tutorial'); ?></td>
</tr>
<tr>
<td> </td>
<td><?php echo '<br> '.form_submit('submit', 'Tambah Data'); ?></td>
</tr>
</tbody>
</table>
<?php echo form_close(); ?>

Penjelasan tentang kode di atas:

  • form_open('crud/tambah'); ini untuk membuka tag form
  • form_input('nama_tutorial'); ini untuk membuat input dengan tipe text
  • form_textarea('isi_tutorial'); ini untuk membuat textarea
  • form_submit('submit', 'Tambah Data'); untuk membuat button submit
  • form_close(); untuk menutup form tag

Controler 

Tambahkan kode berikut pada controler crud yang berfungsi untuk menampilkan form

	public function form_tambah()
	{
		$this->load->view('crud_form_tambah');
	}

sehingga menjadi seperti ini

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Crud extends CI_Controller { //menerangakan Crud adalah sebuah controller
	function __construct(){
		parent::__construct();		
		...
	}
	public function index()
	{	
		........
	}
	public function form_tambah()
	{
		$this->load->view('crud_form_tambah');
	}
}

setelah selesai maka form ini dapat di akses melalu alamat url

http://localhost/ci3/crud/form_tambah/

dan tampilan nya akan menjadi seperti iniTutorail Form Helper

Proses Memasukan data ke database

Setelah berhasil membuat from input nya sekarang kita buat controller dan model untuk proses input data.

Model

bukalah model m_crud lalu tambahkan kode berikut

	function tambah($tabel, $field){		
		$this->load->library('user_agent');
			if ($this->db->insert($tabel, $field)) //akan membuat query seperti ini "INSERT INTO $tabel (field) VALUES (value)"
			{
				$val = 'Insert data berhasil'; //variabel yang di kirim jika data berhasil di input
			}else
			{
				$val = 'Insert data gagal';//variabel yang di kirim jika data gagal di input
			}
		return $val;
	}

sehingga hasil akhir nya menjadi seperti ini

<?php 
class m_crud extends CI_Model{
	function tampil($tabel, $limit, $offset, $order, $where){			
		.......
	}
	
	function tambah($tabel, $field){		
		$this->load->library('user_agent');
			if ($this->db->insert($tabel, $field)) //akan membuat query seperti ini "INSERT INTO $tabel (field) VALUES (value)"
			{
				$val = 'Insert data berhasil'; //variabel yang di kirim jika data berhasil di input
			}else
			{
				$val = 'Insert data gagal';//variabel yang di kirim jika data gagal di input
			}
		return $val;
	}
}

Controller

Sekarang kita buat controller untuk melakukan proses input data dengan cara menyisipkan kode ini pada controller crud.

	public function tambah()
	{
		$nama_tutorial = $this->input->post('nama_tutorial');//fungsi nya sama dengan $_POST['nama_tutorial']
		$isi_tutorial = $this->input->post('isi_tutorial');//fungsi nya sama dengan $_POST['isi_tutorial']
		
		$tabel ='tutorial';
		// untuk mendefiniskan field beserta nilai nya yang akan di masukan ke database
		$field = ['tutorial_nama' => $nama_tutorial, 'tutorial_isi' => $isi_tutorial]; 
		//Cek variabel nama_tutorial atau variabel isi_tutorial kosong atau tidak
		if (($nama_tutorial == '') or ($isi_tutorial == ''))
		{
			//mendefiniskan variabel yang akan di kirim jika nama_tutorial dan isi_tutorial kosong
			$val ='Semua Field Harus di isi';
			//mendefiniskan url redirect yang akan di kirim jika nama_tutorial dan isi_tutorial kosong
			$url = base_url('crud/form_tambah'); //redirect ke form tambah
		}else
		{
			//mengambil data daro model m_crud fungsi tambah
			$val = $this->m_crud->tambah($tabel, $field);
			//redirect ke halaman crud
			$url = base_url('	crud');
		}
		//kirim pesan dan redirect
		redirect($url.'?msg='.$val);
	}

sehingga menjadi seperti ini

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Crud extends CI_Controller { //menerangakan Crud adalah sebuah controller

	//fungsi untuk mendeklarasikan variabel global atau apa saja yang akan di load pada controller ini
	function __construct(){
		...
	}
	public function index()
	{	
		...
	}
	public function form_tambah()
	{
		...
	}
	public function tambah()
	{
		$nama_tutorial = $this->input->post('nama_tutorial');//fungsi nya sama dengan $_POST['nama_tutorial']
		$isi_tutorial = $this->input->post('isi_tutorial');//fungsi nya sama dengan $_POST['isi_tutorial']
		
		$tabel ='tutorial';
		// untuk mendefiniskan field beserta nilai nya yang akan di masukan ke database
		$field = ['tutorial_nama' => $nama_tutorial, 'tutorial_isi' => $isi_tutorial]; 
		//Cek variabel nama_tutorial atau variabel isi_tutorial kosong atau tidak
		if (($nama_tutorial == '') or ($isi_tutorial == ''))
		{
			//mendefiniskan variabel yang akan di kirim jika nama_tutorial dan isi_tutorial kosong
			$val ='Semua Field Harus di isi';
			//mendefiniskan url redirect yang akan di kirim jika nama_tutorial dan isi_tutorial kosong
			$url = base_url('crud/form_tambah'); //redirect ke form tambah
		}else
		{
			//mengambil data daro model m_crud fungsi tambah
			$val = $this->m_crud->tambah($tabel, $field);
			//redirect ke halaman crud
			$url = base_url('	crud');
		}
		//kirim pesan dan redirect
		redirect($url.'?msg='.$val);
	}
}

.

Artikel Menarik Lainnya
Codeigniter, Codeigniter 3, Belajar Codeigniter 3

loading...