Pada kesempatan kali ini, kita akan mencoba membuat CRUD(Create, Read, Update, Delete) menggunakan framework codeigniter. Langsung saja kita mulai dengan langkah pertama ini, dengan membuat database dengan nama tutorial_rumah_coding dan sebuah table dengan nama siswa seperti yang terlihat dibawah ini:
Selanjutnya lakukan pengaturan pada file autoload.php yang terdapat didalam folder application/config/ seperti berikut ini :
Setelah helper dan libraries yang kita butuhkan sudah diload, selanjutnya hubungkan database dengan project kita seperti berikut ini :
Tidak lupa juga untuk mengatur base_url yang terdapat didalam file config.php pada folder application/config/ :
Kemudian buat sebuah controllers dengan nama CrudSiswa.php dengan perintah sebagai berikut ini :
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class CrudSiswa extends CI_Controller { public function __construct(){ parent ::__construct(); //load model $this->load->model('CrudSiswaModel'); } public function index() { $data = array( 'title' => 'Data Siswa', 'data_siswa' => $this->CrudSiswaModel->get_all(), ); $this->load->view('datasiswa', $data); } public function tambah() { $data = array( 'title' => 'Tambah Data Siswa' ); $this->load->view('tambahsiswa', $data); } public function simpan() { $data = array( 'id_siswa' => $this->input->post("id_siswa"), 'nama' => $this->input->post("nama"), 'email' => $this->input->post("email"), 'password' => $this->input->post("password"), 'telepon' => $this->input->post("telepon"), 'pelajaran' => $this->input->post("pelajaran") ); $this->CrudSiswaModel->simpan($data); $this->session->set_flashdata('notif', '<div class="alert alert-success alert-dismissible"> Success! data siswa berhasil disimpan didatabase. </div>'); //redirect redirect('CrudSiswa/'); } public function edit($id_siswa) { $id_siswa = $this->uri->segment(3); $data = array( 'title' => 'Edit Data Siswa', 'data_siswa' => $this->CrudSiswaModel->edit($id_siswa) ); $this->load->view('editsiswa', $data); } public function update() { $id['id_siswa'] = $this->input->post("id_siswa"); $data = array( 'id_siswa' => $this->input->post("id_siswa"), 'nama' => $this->input->post("nama"), 'email' => $this->input->post("email"), 'password' => $this->input->post("password"), 'telepon' => $this->input->post("password"), 'pelajaran' => $this->input->post("pelajaran"), ); $this->CrudSiswaModel->update($data, $id); $this->session->set_flashdata('notif', '<div class="alert alert-success alert-dismissible"> Success! data berhasil diupdate didatabase. </div>'); //redirect redirect('CrudSiswa'); } public function hapus($id_siswa) { $this->CrudSiswaModel->hapus($id_siswa); //redirect redirect('CrudSiswa'); } }
Selanjutnya buat sebuah Model dengan nama CrudSiswaModel.php dengan perintah seperti berikut ini :
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class CrudSiswaModel extends CI_model{ public function get_all() { $query = $this->db->select("*") ->from('siswa') ->order_by('id_siswa', 'DESC') ->get(); return $query->result(); } public function simpan($data) { $query = $this->db->insert("siswa", $data); if($query){ return true; }else{ return false; } } public function edit($id_siswa) { $query = $this->db->where("id_siswa", $id_siswa) ->get("siswa"); if($query){ return $query->row(); }else{ return false; } } public function update($data, $id_siswa) { $query = $this->db->update("siswa", $data, $id_siswa); if($query){ return true; }else{ return false; } } public function hapus($id_siswa) { $this->db->where('id_siswa', $id_siswa); $this->db->delete('siswa'); } }
Langkah Terakhir Adalah membuat halaman/view untuk menampikan data siswa, halaman tambah data siswa dan halaman edit data siswa. Pertama kita membuat halaman data siswa dengan nama file datasiswa.php :
<!DOCTYPE html> <html> <head> <title><?php echo $title ?></title> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.min.css"> </head> <body> <div class="container" style="margin-top: 80px"> <?php echo $this->session->flashdata('notif') ?> <a href="<?php echo base_url() ?>index.php/CrudSiswa/tambah/" class="btn btn-md btn-success">Tambah Buku</a> <hr> <!-- table --> <div class="table-responsive"> <table id="table" class="table table-striped table-bordered table-hover"> <thead> <tr> <th>No.</th> <th>Id Siswa</th> <th>Nama</th> <th>Email</th> <th>Password</th> <th>Telepon</th> <th>Pelajaran</th> <th>Aksi</th> </tr> </thead> <tbody> <?php $no = 1; foreach($data_siswa as $hasil){ ?> <tr> <td><?php echo $no++ ?></td> <td><?php echo $hasil->id_siswa ?></td> <td><?php echo $hasil->nama ?></td> <td><?php echo $hasil->email ?></td> <td><?php echo $hasil->password ?></td> <td><?php echo $hasil->telepon ?></td> <td><?php echo $hasil->pelajaran ?></td> <td> <a href="<?php echo base_url() ?>index.php/CrudSiswa/edit/<?php echo $hasil->id_siswa ?>" class="btn btn-sm btn-success">Edit</a> <a href="<?php echo base_url() ?>index.php/CrudSiswa/hapus/<?php echo $hasil->id_siswa ?>" class="btn btn-sm btn-danger">Hapus</a> </td> </tr> <?php } ?> </tbody> </table> </div> </div> <script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.min.js"></script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/js/bootstrap.min.js"></script> </body> </html>
Hasilnya akan terlihat seperti ini :
Buat lagi halaman tambah data dengan nama file tambahsiswa.php :
<!DOCTYPE html> <html> <head> <title><?php echo $title ?></title> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.min.css"> </head> <body> <div class="container" style="margin-top: 80px"> <div class="col-md-12"> <?php echo form_open('CrudSiswa/simpan') ?> <div class="form-group"> <label for="text">No. Siswa</label> <input type="text" name="no_siswa" class="form-control" placeholder="Masukkan No. Siswa"> </div> <div class="form-group"> <label for="text">Nama</label> <input type="text" name="nama" class="form-control" placeholder="Masukkan Nama"> </div> <div class="form-group"> <label for="text">Email</label> <input type="email" name="email" class="form-control" > </div> <div class="form-group"> <label for="text">Password</label> <input type="password" name="password" class="form-control" > </div> <div class="form-group"> <label for="text">Telepon</label> <input type="number" name="telepon" class="form-control" > </div> <div class="form-group"> <label for="text">Pelajaran</label> <input type="text" name="pelajaran" class="form-control" > </div> <button type="submit" class="btn btn-md btn-success">Simpan</button> <button type="reset" class="btn btn-md btn-warning">reset</button> <?php echo form_close() ?> </div> </div> <script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.min.js"></script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/js/bootstrap.min.js"></script> </body> </html>
Hasilnya akan terlihat seperti ini :
Kemudian langkah terakhir, kita membuat halaman edit dengan nama file editsiswa.php :
<!DOCTYPE html> <html> <head> <title><?php echo $title ?></title> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.min.css"> </head> <body> <div class="container" style="margin-top: 80px"> <div class="col-md-12"> <?php echo form_open('CrudSiswa/update') ?> <div class="form-group"> <label for="text">Nama </label> <input type="text" name="nama" value="<?php echo $data_siswa->nama ?>" class="form-control" placeholder="Nama Siswa"> <input type="hidden" value="<?php echo $data_siswa->id_siswa ?>" name="id_siswa"> </div> <div class="form-group"> <label for="text">Email</label> <input type="text" name="nama_buku" value="<?php echo $data_siswa->email ?>" class="form-control" placeholder="Masukkan Email"> </div> <div class="form-group"> <label for="text">Password</label> <input type="password" name="password" value="<?php echo $data_siswa->password ?>" class="form-control" placeholder="Masukkan Password"> </div> <div class="form-group"> <label for="text">Telepon</label> <input type="number" name="telepon" value="<?php echo $data_siswa->telepon ?>" class="form-control" placeholder="Masukkan Telepon"> </div> <div class="form-group"> <label for="text">Pelajaran</label> <input type="text" name="pelajaran" value="<?php echo $data_siswa->pelajaran ?>" class="form-control" placeholder="Masukkan Pelajaran"> </div> <button type="submit" class="btn btn-md btn-success">Update</button> <button type="reset" class="btn btn-md btn-warning">reset</button> <?php echo form_close() ?> </div> </div> <script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.min.js"></script> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/js/bootstrap.min.js"></script> </body> </html>
Hasilnya akan terlihat seperti berikut ini :