Membuat CRUD CodeIgniter 4 #5: Edit Database

Mengubah Data (Update-CRUD)

Membuat CRUD CodeIgniter 4 - Di halaman Show Data, kita dapat melihat sebuah tombol aksi dengan nama "Edit". Bagaimana caranya ketika kita tekan tombol edit ini, maka data yang berada di tombol edit ini akan dapat kita ubah.

Pertama kita buat routes dulu. Kita akan buat route 

$routes->get('/edit/(:segment)', 'UserController::edit/$1');
$routes->post('/update/(:segment)', 'UserController::update/$1');

Kemudian kita buat function edit dan update didalam file UserController.php, isikan dengan kode perintah berikut:

public function edit($id)
    {

        $data = [
            'title' => 'Update Data',
            'data' => $this->userModel->find($id)
        ];

        return view('userEdit', $data);
    }

    public function update($id)
    {
        $this->userModel->update(
            $id,
            [
                'name' => $this->request->getPost('name'),
                'address' => $this->request->getPost('address')
            ]
        );
        return redirect()->to('/show');
    }

Sekarang, kita butuh halaman untuk proses edit, maka buatlah sebuah file didalam views dengan nama "userEdit.php". Copy semua kode dibawah ini  lalau pastekan kedalam userAdd.php:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
    <title><?php echo $title ?></title>
</head>

<body>
    <div class="container">
        <h1 class="mt-5 mb-5" style="text-align: center;">Edit Data</h1>

        <div class="row d-flex justify-content-center">

            <form method="POST" action="/update/<?php echo ($data->id) ?>">
                <?php csrf_field(); ?>
                <div class="mb-3">
                    <label for="name" class="form-label">Input Name:</label>
                    <input name="name" type="text" class="form-control" id="name" aria-describedby="emailHelp" value="<?php echo ($data->name) ?>">
                </div>
                <div class="mb-3">
                    <label for="address" class="form-label">Input Address:</label>
                    <textarea name="address" type="text" class="form-control" id="address" aria-describedby="emailHelp"><?php echo ($data->address) ?></textarea>
                </div>
                <a href="/show" class="btn btn-danger">Back</a>
                <button type="submit" class="btn btn-primary">Save</button>
            </form>
        </div>
    </div>
</body>

</html>

Sekarang, anda dapat teslangsung di web.

Setelajh iu, tinggal membuat program menghapus data yang ada didatabase.

Posting Komentar

Komentar anda sedang di moderasi oleh Admin. Mohon tunggu. Terima kasih.

Lebih baru Lebih lama

Formulir Kontak