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

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel