Sunday 9 October 2016

Codeigniter: Insert Data ke Database dan Tutorial untuk membuatnya

Selamat siang semuanya, pada kesempatan kali ini saya akan share tentang cara memasukkan data ke tabel yang ada di database. Dalam web dinamis database itu merupakan kunci yang utama menurut saya, sedangkan untuk tampilan web itu tergantung seni programmernya. Dalam penggunaan framework, kita yang belajar dari dasar harus paham prinsip CRUD (Create, Read, Update, Delete). Istilah lain untuk Create yaitu Insert dalam artian kita menginsert data ke database dan menuju table yang akan menampung record yang kita buat.
untuk melakukan insert ini, tentu kita harus memiliki database dan satu buah table minimal. Bagi kalian memang masih awam sekali pasti tidak mengerti apa yang saya paparkan diatas, saya kasi gambaran sedikit, kita akan membuat form seperti dibawah ini yang berbasis web :
Insert Data ke Database




















Untuk source kode yang lengkap mengenai CRUD  bisa kalian download di bawah ini, namun pada postingan kali ini hanya fokus membahas Creat/Insert saja.

Download

Silakan download dahulu.
Jika kalian ingin membuat dari awal pastikan hal-hal berikut :

  • Sudah menginstall local server disini saya menggunakan XAMPP
  • Sudah membuat database yang berisi 1 tabel yang memiliki field (id, nama, alamat, kelas)
  • Sudah download file CodeIgniter dan menaruhnya di folder htdocs
Langkah pertama buatlah file header.php kemudia kalian taruh difolder application > views
ketikan sintaks seperti dibawah ini :


<!DOCTYPE html>
<html>
<head>
<title>Data Siswa</title>
<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>/assets/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>/assets/bootstrap/css/bootstrap.css">
</head>
<body>
<div class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-brand">
<div class="navbar-header">
<a href="#">Data Siswa</a>
</div>
</div>
</div>
</div>

<div class="row">
<div class="col-md-3"></div>
<a href="<?php echo site_url('siswa/index')?>"><div class="col-md-3 btn-danger">Daftar Siswa</div></a>
<a href="<?php echo site_url('siswa/form')?>"><div class="col-md-3 btn-primary">Tambah Data</div></a>
<div class="col-md-3"></div>
</div>
<br>


code tersebut berfungsi untuk membuat navigasi bar supaya kelihatan lebih bagus.
Masih dalam folder yang sama kalian buat footer.php dan codenya seperti dibawah ini:

<div class="navbar-fixed-bottom" style="bottom: 0; text-align: center;">
<div class="panel-footer"><a href="http://balideveloper.blogspot.co.id/"><p>BaliDev 2016 (ManInback17)</p></a></div>
</div>
</body>
</html>

Sesuai dengan namanya code diatas untuk membuat footer yang fixed dibawah.

Pada langkah ini kalian buat vsiswa.php masih dalam folder yang sama.


<?php require('header.php') ?>
<div class="container">
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-6">
<div class="form-group">
<?php
echo form_open('siswa/insert');
$inputID=array(
'type' => 'input',
'name' => 'id',
'maxlength' => '25',
'class' => 'form-control'
);
echo "<label>ID Siswa</label>";
echo form_input($inputID);
$inputNama=array(
'type' => 'input',
'name' => 'nama',
'class' => 'form-control'
);
echo "<label>Nama Siswa</label>";
echo form_input($inputNama);

$inputAlamat=array(
'type' => 'input',
'name' => 'alamat',
'class' => 'form-control'
);
echo "<label>Alamat Siswa</label>";
echo form_input($inputAlamat);

$inputKelas=array(
'type' => 'input',
'name' => 'kelas',
'class' => 'form-control'
);
echo "<label>Kelas</label>";
echo form_input($inputKelas);
echo "</br>";
$inputBtn = array(
'type' => 'submit',
'value' => 'submit',
'class' => 'btn btn-danger'
);
echo form_input($inputBtn);
$inputReset = array(
'type' => 'reset',
'value' => 'Batal',
'class' => 'btn btn-danger'
);
echo form_input($inputReset);

echo form_close();
?>
</div>
</div>
</div>
</div>
</div>
<?php require('footer.php'); ?>

Penjelasannya:
-Pada code baris pertama kita memanggil header.php yang telah kita buat tadi supaya menyatu dengan formnya dalam satu halaman.
-Pada code baris terkahir kita memanggil footer.php yang telah kita buat tadi.
-echo form_open('siswa/insert'); berfungsi untuk memanggil class yang bernama siswa yang memiliki function insert(). Kalau pakai html biasa maka penulisan untuk form tidak seperti itu, karena kita menggunakan CodeIgniter codenya dipersingkat dengan maksud yang sama.

Langkah selanjutnya akan kita buatkan kontrolernya yang nanti berfungsi untuk menampung nilai dari form yang akan diteruskan ke model.

Buat file bernama Siswa.php dan taruh di folder controllers

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

class Siswa extends CI_Controller {

public function __construct()
{
parent::__construct();
$this->load->library('table');
$this->load->model('msiswa');
}

public function index()
{

$data['data_siswa'] = $this->msiswa->lihat_siswa();
$this->load->view('vdaftarsiswa', $data);

}
public function insert(){
$data = array(
'id' => $this->input->post('id'),
'nama' => $this->input->post('nama'),
'alamat' => $this->input->post('alamat'),
'kelas' => $this->input->post('kelas')
);
$this->msiswa->qinsert($data);
redirect('siswa/index');
}


function insert itulah yang menampung semua informasi dari form yang nanti akan diteruskan ke model dengan sintaks :$this->msiswa->qinsert($data); dari model akan diteruskan ke database kita.

langkah selanjutnya buatlah file msiswa.php dan taruh di folder application>models ini berfungsi meneruskan data ke database.

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

class Msiswa extends CI_Model {

public $variable;

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

}

public function qinsert($data){
$this->db->insert('siswa', $data);
}



lihat function qinsert, dalam CodeIgniter semua query dipersingkat karena sudah dukungan library yang bagus. $this->db->insert('siswa', $data);, siswa merupakan nama table dan $data adalah data dari controller yang kita buat tadi.

Sekian, mungkin agak susah memang dimengerti. Saran saya download source code yang lengkap di tombol download diatas, kalian coba terlebih dahulu dan melalui tutorial ini kalian buat sesuai dengan versi kalian masing-masing. Jika ada kendala silakan tambahkan di komentar atau bisa PM saya langsung di Facebook atau twitter.

Baca artikel lainnya:
Android Studio : Menampilkan website atau blog kalian di aplikasi android buatan sendiri
Tutorial Basic CRUD dengan Framework PHP CodeIgniter
Belajar CodeIgniter : Cara menghilangkan index.php pada url Framework CodeIgniter