Cara Membuat CRUD dengan Code Igniter dan MySQL: Input Data #3
Pada Step ini saya akan membuat bagaimana cara input data ke Database dengan CI, dan pada proses input ini saya menggunakan proses validation dengan code igniter, dimana ketika kita menginput data tersebut akan di cek terlebih dahulu, lalu setelah memenuhi syarat validasi baru data tersebut akan di input kan ke database.
Note : Postingan ini merupakan kelanjutan dari postingan sebelumnya ya, jadi kalau ada yang tidak paham bisa liat postingan sebelumnya.
Lihat Part lainnya :
Oke langsung aja.
Pertama buka kembali file controllers nya yaitu mahasiswa.php atau file controllers kalian. Dan buka file models juga m_data.php.
Masukan Coding berikut di file mahasiswa.php :
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Mahasiswa extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('m_data');
}
public function index(){
$data['mahasiswa'] = $this->m_data->tampil_data();
$this->load->view('v_tampil',$data);
}
public function tambah(){
if($this->input->post('submit')){ // Jika user mengklik tombol submit yang ada di form
if($this->m_data->validation("save")){ // Jika validasi sukses atau hasil validasi adalah TRUE
$this->m_data->simpandata(); // Panggil fungsi save() yang ada di m_data.php
redirect('mahasiswa');
}
}
$this->load->view('v_tambah');
}
}
Masukan Coding berikut di file m_data.php :
<?php
class M_data extends CI_Model{
public function tampil_data(){
return $this->db->get('mahasiswa')->result();
}
//fungsi tambah data
public function validation($mode){
$this->load->library('form_validation'); // Load library form_validation untuk proses validasinya
// Tambahkan if apakah $mode save atau update
// Karena ketika update, NIM tidak harus divalidasi
// Jadi NIM di validasi hanya ketika menambah data siswa saja
if($mode == "save")
$this->form_validation->set_rules('input_nim', 'NIM', 'required|numeric|max_length[8]');
$this->form_validation->set_rules('input_nama', 'NAMA', 'required|max_length[50]');
$this->form_validation->set_rules('input_jeniskelamin', 'Jenis Kelamin', 'required');
$this->form_validation->set_rules('input_alamat', 'Alamat', 'required');
if($this->form_validation->run()) // Jika validasi benar
return TRUE; // Maka kembalikan hasilnya dengan TRUE
else // Jika ada data yang tidak sesuai validasi
return FALSE; // Maka kembalikan hasilnya dengan FALSE
}
// Fungsi untuk melakukan simpan data ke tabel siswa
public function simpandata(){
$data = array(
"nim" => $this->input->post('input_nim'),
"nama" => $this->input->post('input_nama'),
"jeniskelamin" => $this->input->post('input_jeniskelamin'),
"alamat" => $this->input->post('input_alamat')
);
$this->db->insert('mahasiswa', $data); // Untuk mengeksekusi perintah insert data
}
//end fungsi tambah data
}
Lalu buka folder views dan tambahkan file php dengan nama v_tambah.php, lalu tambahkan codingan berikut :
<!DOCTYPE html>
<html>
<head>
<title>Tambah Data di CI</title>
</head>
<body>
<center>
<h1>Latihan CRUD with CI</h1>
<h3>Tambah data</h3>
</center>
<?php echo form_open("mahasiswa/tambah"); ?> <!-- Sama seperti Form action="... mahasiswa/tambah" method="post" -->
<table align="center">
<tr>
<td>NIM</td>
<td><input type="text" name="input_nim" value="<?php echo set_value('input_nim'); ?>"></td>
</tr>
<tr>
<td>Nama</td>
<td><input type="text" name="input_nama" value="<?php echo set_value('input_nama'); ?>"></td>
</tr>
<tr>
<td>Jenis Kelamin</td>
<td>
<input type="radio" name="input_jeniskelamin" value="Laki-laki" <?php echo set_radio('jeniskelamin', 'Laki-laki'); ?> > Laki-laki
<input type="radio" name="input_jeniskelamin" value="Perempuan" <?php echo set_radio('jeniskelamin', 'Perempuan'); ?> > Perempuan
</td>
</tr>
<tr>
<td>Alamat</td>
<td><textarea name="input_alamat"><?php echo set_value('input_alamat'); ?></textarea></td>
</tr>
<tr>
<td colspan="2" align="right">
<hr>
<input type="submit" name="submit" value="Simpan">
<a href="<?php echo base_url(); ?>"><input type="button" value="Batal"></a>
</td>
</tr>
</table>
<?php echo form_close(); ?>
<!-- Menampilkan Error jika validasi tidak valid -->
<div style="color: red;" align="center"><?php echo validation_errors(); ?></div>
</body>
</html>
Setelah itu kalian coba jalankan locahost/belajarci, dan tambahkan data di web browsernya.
Tabel sebelum di input data
Lakukan input data
Tabel setelah di input data
Data ini urutannya sesuai dengan yang ada di database localhost/phpmyadmin, kalian merasa data ini berantakan? coba pelajari Sorting Ascending dan Descending agar lebih rapih!
Cara Membuat Data Ascending dan Descending pada Code Igniter dan MySQL.
Sekian dari step ini , Semoga Bermanfaat.
Download Source Filenya
Baca Postingan lainnya tentang CI yang mungkin berguna untuk kalian :
0 Response to "Cara Membuat CRUD dengan Code Igniter dan MySQL: Input Data #3"
Post a Comment