pada kesempatan kali ini penulis akan membahas tentang bagaimana caranya melakuan INSERT UPDATE DELETE dengan menggunakan Codeignter 4. Artikel ini adalah kelanjutan dari artikel sebelum nya yang berjudul Menampilkan Data Dari Database dengan menggunakan Codeigniter 4
Berikut ini adalaha tahapan untuk menambah, mengubah dan menghapus data dari database dengan menggunakan Codeigniter 4 :
Controler list1.php
kemudian tambahkan kode di bawah ini setelah public function index(){}
dengan code di bawah ini
public function formtambah() {
echo view('form_tambah');
}
dan kontroler List1.php
akan menjadi seperti ini
<?php
namespace App\Controllers;
use App\Models\M_db;
use CodeIgniter\Controller;
class List1 extends Controller
{
public function index()
{
.......
}
public function formtambah()
{
echo view('form_tambah');
}
}
form_tambah.php
dan isikan dengan kode berikut
<?php
helper('form');
$attributes = ['id' => 'myform'];
echo form_open('list1/tambah', $attributes);
$data = [
'name' => 'nama',
'id' => 'nama'];
echo 'Nama :'.form_input($data).'
'; $data = [
'name' => 'alamat',
'id' => 'alamat'];
echo 'Alamat :'.form_input($data).'';
echo form_submit('mysubmit', 'Simpan!');
echo form_close();
?>
form ini dapat di lihat di http://localhost/ci4/list1/formtambah
List1.php
kembali dan tambahkan lah kode berikut
function tambah_tb($table,$field)
{
$db = \Config\Database::connect();
if ($db->table($table)->insert($field)){
echo 'Tambah data berhasil';
}else{
echo 'Tambah Data Gagal';
}
}
sehingga menjadi seperti ini
<?php namespace App\Models;
use CodeIgniter\Model;
class M_db extends Model
{
function list_tb($table,$field)
{
...............
}
function tambah_tb($table,$field)
{
$db = \Config\Database::connect();
if ($db->table($table)->insert($field)){
echo 'Tambah data berhasil';
}else{
echo 'Tambah Data Gagal';
}
}
}
list_tb.php
menjadi seperti ini
<?php
foreach ($isi as $item):
?>
<?php
echo ''.$item->nama.'
';
?>
<?php
endforeach;
?>
List1.php
dan tambahkan baris perintah berikut
public function hapus()
{
$std = new M_db();
$uri = $this->request->uri;
$uri = new \CodeIgniter\HTTP\URI($uri);
$str = $uri->getPath();
$str = explode("/", $str);
$id = $str[3];
$field = ['id' => $id];
$data['hapus']=$std->hapus_tb('biodata',$field);
}
sehingga menjadi seperti ini
<?php
namespace App\Controllers;
use App\Models\M_db;
use CodeIgniter\Controller;
class List1 extends Controller
{
public function index()
{
....................;
}
public function formtambah()
{
............
}
public function tambah()
{
........
}
public function hapus()
{
$std = new M_db();
$uri = $this->request->uri;
$uri = new \CodeIgniter\HTTP\URI($uri);
$str = $uri->getPath();
$str = explode("/", $str);
$id = $str[3];
$field = ['id' => $id];
$data['hapus']=$std->hapus_tb('biodata',$field);
}
}
list_tb.php
menjadi seperti ini:
<?php <br ?>
foreach ($isi as $item):
?>
<?php echo $item->nama.' -'; ?><?php echo '<a href="'.base_url('ci4/list1/hapus/'.$item->id).'">Hapus </a> -'; ?>
<?php echo '<a href="'.base_url('ci4/list1/edit/'.$item->id).'">Edit</a><br>'; ?>
<?php endforeach; ?>
List1.php
public function updatedata()
{
$std = new M_db();
$request = \Config\Services::request();
$nama = $request->getPost('nama');
$alamat = $request->getPost('alamat');
$id = $request->getPost('id');
$data['id'] = ['id' => $id];
$data['isi'] =[
'nama' => $nama,
'alamat' => $alamat
];
//var_dump($data['where']);
$data['list_data']=$std->updatedata('biodata',$data);
//echo view('form_edit',$data);
}
sehingga menjadi
<?php
namespace App\Controllers;
use App\Models\M_db;
use CodeIgniter\Controller;
class List1 extends Controller
{
public function index()
{
..........
}
public function formtambah()
{
.........
}
public function tambah()
{
..........
}
public function hapus()
{
........
}
public function edit()
{
........
}
public function updatedata()
{
$std = new M_db();
$request = \Config\Services::request();
$nama = $request->getPost('nama');
$alamat = $request->getPost('alamat');
$id = $request->getPost('id');
$data['id'] = ['id' => $id];
$data['isi'] =[
'nama' => $nama,
'alamat' => $alamat
];
//var_dump($data['where']);
$data['list_data']=$std->updatedata('biodata',$data);
//echo view('form_edit',$data);
}
}
form_edit.php
lalu isi kan kode berikut ini
<?php
helper('form');
foreach ($list_data as $ld)
{
$attributes = ['id' => 'myform'];
echo form_open('list1/updatedata', $attributes);
$data = [
'name' => 'nama',
'id' => 'nama',
'value' => $ld->nama];
echo 'Nama :'.form_input($data).'
';
$data = [
'name' => 'alamat',
'id' => 'alamat',
'value' => $ld->alamat];
echo 'Alamat :'.form_input($data).'
';
$data = [
'id' => $ld->id];
echo form_hidden($data);
echo form_submit('mysubmit', 'Simpan!');
echo form_close();
}?>
Source Code nya dapat di download di sini