Update Data pada Codeigniter

crud codeigniter 3


Hello sobat iniilmu, kali ini kita akan melanjutkan tutorial curd codeigniter 3. Sebemunya kita sudah membahas Cara Menampilkan Data Dari Database dan Cara mengimputkan data ke database. Pada kesempatan kali ini iniilmu akan membagi cara untuk update data atau edit menggunakan codeigniter.

Kita akan melanjutkan source code yang telah kita buat pada tutorial sebelumnya. Ok tanpa basa basi lagi ayo kita mulai. Langkah pertama buka file V_barang di dalam application/views. Rubahlah source code menjadi seperti dibawah ini :

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?>
<!DOCTYPE html>
<html>
<head>
<title>Codeigniter | Menampilkan Data</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</head>
<body>

<div class="container">
  <div class="row">
    <div class="col-md-12">
      <table class="table table-striped">
        <thead>
          <tr>
            <th scope="col">No</th>
            <th scope="col">Kode Barang</th>
            <th scope="col">Nama Barang</th>
            <th scope="col">Stok Barang</th>
            <th scope="col">Aksi</th>
          </tr>
        </thead>
        <tbody>
          <?php 
          $no=1;
          foreach ($data as $dt) {
          ?>
          <tr>
            <th scope="row"><?php echo $no++; ?></th>
            <td><?php echo $dt['kd_barang']; ?></td>
            <td><?php echo $dt['nama_barang']; ?></td>
            <td><?php echo $dt['stok_barang']; ?></td>
            <td>
              <a class="btn btn-primary"  href="<?php  echo site_url('C_barang/edit_barang/'.$dt['kd_barang']);?>">Edit</a>
            </td>
          </tr>
          <?php 
        }
          ?>
        </tbody>
      </table>
    </div>
  </div>
</div>



<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</body>
</html>

Jika kalian sudah mengganti atau sudah menuliskan source code diatas, maka tampilannya akan seperti ini :

crud codeigniter 3

Langkah Selanjutnya kita akan membuat function baru di dalam controller C_barang, dengan nama edit_barang. Tulislah source code dibawah ini :

public function edit_barang($kd_barang)
{
$data['data'] = $this->M_barang->ambil_data_barang($kd_barang);
$this->load->view('V_edit',$data);
}

Penjelasan : 
function diatas berfungsi untuk menampilkan data yang ingin kita edit ke dalam form input di halaman v_edit yang nanti akan kita buat. Function tersebut memiliki parameter kd_barang yang akan dikirim kan ke model ambil_data_barang(). fungsinya untuk mengambil data sesuai dengan kode barang yang kita pilih. 

Langkah Selanjutnya kita membuat function baru di dalam controller C_barang, dengan nama edit, dan tuliskan source code dibawah ini :

public function edit()
{
$this->M_barang->proses_edit();
redirect('C_barang/tampil_barang');
}

Penjelasan :
Function diatas difungsikan untuk melakukan proses edit. Di dalam function diatas memanggil model M_barang dengan nama function proses_edit(). setelah berhasil dieksekusi maka akan terdirect ke halaman tampil_barang.

Setelah selesai menuliskan 2 function baru diatas maka controller C_barang maka akan nampak seperti dibawah ini :

<?php
/**
 *  
 */
class C_barang extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->load->helper('url');
$this->load->model('M_barang');
}

public function tampil_barang()
{
$data['data'] = $this->M_barang->data_barang();
$this->load->view('V_barang',$data);
}
public function tampil_tambah()
{
$this->load->view('V_tambah_barang');
}
public function tambah_barang()
{
$this->M_barang->proses_tambah();
redirect('C_barang/tampil_barang');
}

public function edit_barang($kd_barang)
{
$data['data'] = $this->M_barang->ambil_data_barang($kd_barang);
$this->load->view('V_edit',$data);
}
public function edit()
{
$this->M_barang->proses_edit();
redirect('C_barang/tampil_barang');
}
}


?>

Langkah selanjutnya, kita akan membuat function ambil_data_barang di dalam model. Kemudian tuliskan source code di bawah ini :

public function ambil_data_barang($kd_barang)
{
$query = $this->db->query("SELECT * FROM barang where kd_barang='".$kd_barang."'");
return $query->row_array();
}

Penjelasan :
source code diatas berfungsi untuk menampilkan data barang sesuai kode barang yang kita pilih. Parameter yang ada di dalam function ambil_data_barang merupakan data kode barang yang kita pilih dan dikirimkan melalui controller dan didambil oleh function ambil_data_barang. Yang kemudian data hasil dari query akan dikirimkan kembali ke dalam function controller edit_barang dan akan ditampilkan ke dalam view V_edit.

Sekarang kita akan membuat file view baru dengan nama v_edit() di dalam foler views. Tuliskan source code dibawah ini :

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
?>
<!DOCTYPE html>
<html>
<head>
<title>Codeigniter | Mengimputkan Data</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</head>
<body>
<div class="container">
  <div class="row">
    <div class="col-md-3">
      <form method="post" action="<?php echo base_url('C_barang/edit')  ?>">
        <br>
        <div class="form-group">
          <label >Kode Barang</label>
          <input type="text" class="form-control" name="kode" value="<?php echo $data['kd_barang'] ?>"  >
        </div>
        <div class="form-group">
          <label >Nama Barang</label>
          <input type="text" class="form-control" value="<?php echo $data['nama_barang'] ?>" name="nama" >
        </div>
        <div class="form-group">
          <label >Stok Barang</label>
          <input type="text" class="form-control" value="<?php echo $data['stok_barang'] ?>" name="stok" >
        </div>
        <button type="submit" class="btn btn-primary">Submit</button>
      </form>
    </div>
  </div>
</div>



<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</body>
</html>

Penjelasan :
Di dalam menampilkan data dalam form input tidak menggunakn perulangan, karena di dalam model ambil_data_barang kita menggunakan row_array bukan result_array. Sehingga kita memanggilnya menggunakan variabel $data['nama_field'] , seperti contoh kita akan menampilkan kode barang maka yang kita panggil adalah $data['kd_barang'].

Setelah Kalin selesai menulis source code diatas maka akan tampil seperti ini :
crud codeigniter 3

Selanjutnya kita akan membuat function baru didalam model m_barang dengan nama proses_edit. Tuliskan source code dibawah ini :

public function proses_edit()
{
$data = array(
'kd_barang' => $_POST['kode'],
'nama_barang' => $_POST['nama'],
'stok_barang' => $_POST['stok']

);

$this->db->where('kd_barang',$_POST['kode']);
$this->db->update('barang',$data);
}

Penjelasan :
fungsi diatas berfungsi untuk melakukan update data, sesuai dengan data yang diinputkan oleh pengguna, inputan tersebut akan disimpan ke dalam array data dan kemudia akan di edit data barang sesuai dengan kode barangnya.

Sekarang cobalah untuk melakukan perubahan data, jika berhasil akan tampil seperti dibawah ini :

crud codeigniter 3

Maka datanya berhasil dirubah, Sekian tutorial crud codeigniter edit data kali ini, semoga bermanfaat dan tunggu tutorial berikutnya dari iniilmu.com

You might also like

0 Comments


EmoticonEmoticon

About