Hai, Sobat Jagoan! Kamu pasti ingin menambahkan fitur update data pada aplikasi kamu yang sudah berhasil membuat form input data sebelumnya, kan? Yap, artikel ini akan melanjutkan seri CRUD dengan membahas fitur update data. Tujuannya adalah agar pengguna bisa mengedit informasi barang yang sudah tersimpan di database, misalnya memperbarui harga, nama, atau jumlah stok yang mungkin karena salah input data sehingga bisa kamu perbaiki, Sob.
Membuat Fitur CRUD Update Data dengan CodeIgniter 4
STEP 1: Buka controller Barang.php di dalam app/Controllers/ lalu modifikasi isinya dengan menambahkan method edit() untuk menampilkan form update data dan method update() untuk memproses input dari pengguna seperti berikut.
public function edit($id)
{
$model = new BarangModel();
$data['barang'] = $model->find($id);
// Jika data tidak ditemukan, redirect kembali
if (!$data['barang']) {
return redirect()->to('/barang');
}
return view('barang/edit', $data);
}
public function update($id)
{
$model = new BarangModel();
$data = [
'nama_barang' => $this->request->getPost('nama_barang'),
'harga' => $this->request->getPost('harga'),
'stok' => $this->request->getPost('stok'),
];
$model->update($id, $data);
return redirect()->to('/barang');
}
STEP 2: Kemudian tambahkan routing untuk menangani proses edit dan update di app/Config/Routes.php.
$routes->get('/barang/edit/(:num)', 'Barang::edit/\');
$routes->post('/barang/update/(:num)', 'Barang::update/\');
Routing di atas akan menangkap ID dari URL untuk menentukan data barang mana yang ingin diedit atau diperbarui.
Baris get(‘/barang/edit/(:num)’, …) digunakan untuk menampilkan form edit berdasarkan ID barang, sementara post(‘/barang/update/(:num)’, …) digunakan untuk mengirim data hasil perubahan agar disimpan ke database. Dengan begitu, sistem tahu barang mana yang sedang diubah dan bisa memprosesnya dengan tepat.
STEP 3: Setelah membuat controller dan routes, selanjutnya membuat file view edit.php di dalam app/Views/barang/.
<!DOCTYPE html>
<html lang=”id”>
<head>
<meta charset=”UTF-8″>
<title>Edit Data Barang</title>
<link href=”https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css” rel=”stylesheet”>
</head>
<body>
<div class=”container mt-5″>
<h3 class=”mb-4″>Edit Barang</h3>
<div class=”card p-4 shadow rounded”>
<form action=”<?= base_url(‘/barang/update/’ . $barang[‘id’]) ?>” method=”post”>
<div class=”mb-3″>
<label for=”nama_barang” class=”form-label”>Nama Barang</label>
<input type=”text” name=”nama_barang” class=”form-control” value=”<?= esc($barang[‘nama_barang’]) ?>” required>
</div>
<div class=”mb-3″>
<label for=”harga” class=”form-label”>Harga</label>
<input type=”number” name=”harga” class=”form-control” value=”<?= esc($barang[‘harga’]) ?>” required>
</div>
<div class=”mb-3″>
<label for=”stok” class=”form-label”>Stok</label>
<input type=”number” name=”stok” class=”form-control” value=”<?= esc($barang[‘stok’]) ?>” required>
</div>
<button type=”submit” class=”btn btn-primary”>Perbarui</button>
<a href=”<?= base_url(‘/barang’) ?>” class=”btn btn-secondary”>Batal</a>
</form>
</div>
</div>
</body>
</html>
STEP 4: Selanjutnya modifikasi file index.php untuk menambahkan tombol aksi edit.
- Tambahkan header kolom:
<th>Aksi</th>
- Lalu, tambahkan tombol di bagian baris:
<td>
<a href=”<?= base_url(‘/barang/edit/’ . $item[‘id’]) ?>” class=”btn btn-sm btn-warning”>Edit</a>
</td>
Contoh lengkap bagian tabel di index.php setelah mengeditnya seperti ini:

STEP 5: Jika semuanya telah selesai, akses http://localhost:8080/barang untuk melihat hasil modifikasinya dan cobalah untuk mengubah data salah satu barang dengan mengklik tombol Edit. Lalu, klik Simpan dan data yang sudah diperbarui akan disimpan ke database kemudian kamu akan diarahkan kembali ke halaman index.

Dengan menyelesaikan fitur update data, aplikasi CRUD yang kamu bangun kini tidak hanya bisa menambahkan barang, tetapi juga mengubah informasi yang sudah ada sesuai kebutuhan. Kalau ada yang masih bikin bingung, jangan ragu hubungi Tim Support Jagoan Hosting, Sob!
Sedikit lagi fitur CRUD kamu hampir sempurna, Sob. Yuk, lanjutin ke artikel selanjutnya yaitu
Hai, Sobat Jagoan! Softaculous adalah fitur auto-installer yang biasanya tersedia di cPanel dan digunakan untuk memasang berbagai aplikasi web secara Read more
Hai, Sobat Jagoan! Saat kamu mengembangkan proyek CodeIgniter, menggunakan Composer adalah langkah terbaik. Selain mendapatkan versi resmi terbaru, kamu juga Read more
Halo, Sobat! Remote repository adalah tempat penyimpanan proyek kamu di server Git yang bisa diakses dari mana saja melalui internet. Read more
Hai, Sobat Jagoan! Sebelum nyemplung lebih jauh dengan CodeIgniter versi 4, kamu perlu mengenal dan memahami konsep dasar CodeIgniter 4 Read more