Seri #9 – Tutorial Belajar Framework CodeIgniter untuk Pemula | Menambah Data ke Database


Seri #9 – Tutorial Belajar Framework CodeIgniter untuk Pemula | Menambah Data ke Database – Tulisan ini akan membahas bagaimana menambah data ke database menggunakan framework CodeIgniter. Disini kita akan gunakan form helper agar pembuatan form menjadi lebih ringkas. Yuk simak tulisan selengkapnya.

Controller

Pertama, kita akan membuat method tambah pada controller Mahasiswa. Untuk itu silakan buka controller Mahasiswa lalu tambahkan sintaks berikut:

public function tambah()
{
	if($this->input->method() == 'post') {

		$this->load->database();
		$this->load->model('mahasiswa_model');
			
		$data = [
			'nim'		=> $this->input->post('nim'),
			'nama'		=> $this->input->post('nama'),
			'jk'		=> $this->input->post('jk'),
			'alamat'	=> $this->input->post('alamat')
		];

		if($this->mahasiswa_model->add_mahasiswa($data)) {
			redirect(site_url('mahasiswa'));
		}
	}
	else {
		$this->load->helper('form');
		$this->load->view('tambah_mahasiswa');
	}
}

Pada method tambah ini akan memiliki 2 fungsi, pertama menyediakan form tambah sedangkan fungsi lainnya adalah sebagai pemroses data yang diinput dari form tambah tadi. Jadi untuk form dan pemrosesnya kita jadikan dalam 1 method saja.

Jadi secara utuh controller Mahasiswa akan menjadi seperti ini:

<?php 

class Mahasiswa extends CI_Controller {

	public function index()
	{
		$this->load->database();
		$this->load->model('mahasiswa_model');

		$data['mahasiswa'] = $this->mahasiswa_model->get_mahasiswa();
		$this->load->view('daftar_mahasiswa', $data);
	}


	public function hapus($nim)
	{
		$this->load->database();
		$this->load->model('mahasiswa_model');
		$hapus = $this->mahasiswa_model->delete_mahasiswa($nim);

		if($hapus) {
			redirect(site_url('mahasiswa'));
		}
	}
	

	public function tambah()
	{
		if($this->input->method() == 'post') {

			$this->load->database();
			$this->load->model('mahasiswa_model');
			
			$data = [
				'nim'		=> $this->input->post('nim'),
				'nama'		=> $this->input->post('nama'),
				'jk'		=> $this->input->post('jk'),
				'alamat'	=> $this->input->post('alamat')
			];

			if($this->mahasiswa_model->add_mahasiswa($data)) {
				redirect(site_url('mahasiswa'));
			}
		}
		else {
			$this->load->helper('form');
			$this->load->view('tambah_mahasiswa');
		}
	}

}

Model

Selanjutnya kita akan membuat method pada model Mahasiswa_model yang bertugas meng-insert data ke dalam database menggunakan query builder-nya CodeIgniter. Adapun method yang akan kita buat bernama add_mahasiswa seperti ini:

public function add_mahasiswa($data)
{
	return $this->db->insert('mahasiswa', $data);
}

Atau secara keseluruhan model Mahasiswa_model akan menjadi seperti ini:

<?php 

class Mahasiswa_model extends CI_Model {

	public function get_mahasiswa()
	{
		$query = $this->db->get('mahasiswa');
		return $query->result_array();
	}


	public function delete_mahasiswa($nim)
	{
		return $this->db->delete('mahasiswa', ['nim' => $nim]);
	}


	public function add_mahasiswa($data)
	{
		return $this->db->insert('mahasiswa', $data);
	}
}

Perintah di atas akan melakukan insert data ke tabel mahasiswa dengan nilai berupa $data yang didapat dari view tambah_mahasiswa.

View

Terakhir adalah membuat view bernama tambah_mahasiswa dengan sintaks seperti berikut ini. Sintaks ini dibuat dengan menggunakan HTML dan juga memanfaatkan fitur form helper nya CodeIgniter.

<!DOCTYPE html>
<html>
<head>
	<title>Daftar Mahasiswa | Kangriyanto.net</title>
	<style type="text/css">
		.container { width: 800px; margin: 10px auto; }
	</style>
</head>
<body>
	<div class="container">
		<h1>Tambah Mahasiswa</h1>

		<?php echo form_open('mahasiswa/tambah') ?>
		<table>
			<tr>
				<td>NIM</td>
				<td><?php echo form_input(['type' => 'text', 'name' => 'nim']) ?></td>
			</tr>
			<tr>
				<td>Nama Mahasiswa</td>
				<td><?php echo form_input(['type' => 'text', 'name' => 'nama']) ?></td>
			</tr>
			<tr>
				<td>Jenis Kelamin</td>
				<td><?php echo form_dropdown('jk', ['L' => 'Laki-laki', 'P' => 'Perempuan']) ?></td>
			</tr>
			<tr>
				<td>Alamat</td>
				<td><?php echo form_textarea(['name' => 'alamat', 'cols' => 50, 'rows' => 5]) ?></td>
			</tr>
			<tr>
				<td></td>
				<td><?php echo form_submit('submit', 'Tambah Data') ?></td>
			</tr>
		</table>
		<?php echo form_close() ?>
	</div>
</body>
</html>

Oke, itulah tadi tahapan demi tahapan tutorial menginsert data ke dalam tabel database menggunakan framework CodeIgniter. Untuk melihat hasilnya, silakan teman-teman akses melalui alamat localhost/belajarci/index.php/mahasiswa lalu menekan link tambah (atau dengan mengakses alamat localhost/belajarci/index.php/mahasiswa/tambah) maka akan tampil halaman berikut:

Form tambah mahasiswa

Masukkan beberapa data sehingga setiap data yang dimasukkan akan tampil pada halaman daftar mahasiswa seperti pada gambar berikut:

Daftar Mahasiswa Setelah Diinput Melalui Form Tambah

Bagaimana, cukup mudah bukan? Sayangnya pada tulisan ini belum saya sertakan proses validasi dengan menggunakan form_validation. Setidaknya ini (semoga) bisa menjadikan gambaran bagaimana proses insert data menggunakan framework CodeIgniter. Untuk membaca tutorial lengkap dari awal, silakan teman-teman klik link berikut. Semoga bermanfaat 🙂

Tinggalkan Komentar

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.