[Tutorial CodeIgniter] Cara Menambahkan Data ke Database #6

Assalamualikum, wr. wb. teman-teman. Pada tutorial kali ini kita akan belajar cara menambahkan data pada database. Ini adalah lanjutan dari tutorial Cara Menampilkan Data dari Database, buat yang belum mengikuti, saya sarankan untuk mempelajarinya terlebih dahulu. Namun jika sudah bisa silahkan langsung ikuti tutorial ini.

Oke langsung aja kalian buka file yang menampilkan data user, jika kalian mengikuti seri tutorial ini dari awal, kita sudah buat dengan nama users/index.php untuk menampilkan data user. Kemudian tambahkan tombol tambah data dengan menambahkan kode berikut setelah sintak </table>.


Yang beda dengan kode tombol biasanya adalah pada href-nya kita menggunakan base_url() yang mana sudah diatur url dasarnya adalah http://localhost/indeveloper pada file application/config.php seperti berikut.


Hal tersebut untuk mempermudah kita dalam pemanggilanya, karena kita akan sering menggunakannya. kemudian tambahkan helper 'url' pada application/autoload.php seperti gambar berikut.


Selanjutnya buat file form_tambah.php untuk menampilkan view form tambah data user seperti berikut.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!DOCTYPE html>
<html lang="en">
<head>
    <title>Bootstrap Example</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>
<body>
    <div class="container">
        <div class="card">
            <div class="card-header">
                Form Tambah Data
            </div>
            <div class="card-body">
                <form action="<?= base_url() ?>user/simpanData" method="post">
                    <div class="form-group">
                        <label for="exampleInputUsername">Username</label>
                        <input type="text" name="username" class="form-control" id="exampleInputUsername" placeholder="Enter username">
                    </div>
                    <div class="form-group">
                        <label for="exampleInputEmail">Email</label>
                        <input type="email" name="email" class="form-control" id="exampleInputEmail" placeholder="Enter email">
                    </div>
                    <div class="form-group">
                        <label for="exampleInputPassword">Password</label>
                        <input type="password" name="password" class="form-control" id="exampleInputPassword" placeholder="Password">
                    </div>
                    <button type="submit" class="btn btn-primary">Submit</button>
                </form>
            </div>
        </div>
    </div>
</body>
</html>

Saya tidak akan menjelaskan panjang lebar, karena saya anggap kalian sudah paham. Namun perhatikan pada Baris 19: action form-nya kita arahkan ke method simpanData yang terdapat pada kelas controller user. Sekarang silahkan buat dua fungsi di controller user untuk menampilkan form dan menyimpan atau menambahkan data. Tambahkan kode berikut pada kelas User setelah fungsi index.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<?php
public function formTambah()
    {
        $this->load->view('users/form_tambah');
    }
    public function simpanData()
    {
        $this->User_model->inputData();
        redirect('index');
    }

  • Baris 2 -5: Fungsi untuk menampilkan view form tambah data user.
  • Baris 6: Kita buat fungsi simpanData() untuk menjalankan model input data.
  • Baris 8: Kita panggil model inputData() untuk menyimpan data user yang kita inputkan. Pastikan kalian sudah include User_model pada fungsi __construct(). Jika belum tahu silahkan lihat disini
  • Baris 9: Jika kita berhasil menambahkan data maka akan langsung dikembalikan ke halaman index.

Terakhir kita buat fungsi inputData() pada kelas model User_model.php seperti berikut. Tambahkan kode ini setelah fungsi getAllUser().

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<?php
public function inputData()
    {
        $data = [
            "username" => $this->input->post('username', true), //mengamankan data dengan parameter true, pake XSS filter seperti binding
            "email" => $this->input->post('email', true),
            "password" => $this->input->post('password', true)
        ];
        $this->db->insert('user', $data);
    }

  • Baris 4 -8: Data yang kita inputkan melalui form tadi kita tangkap dengan variabel $data untuk kemudian kita simpan dalam bentuk array.
  • Baris 9: Kita tambahkan data dalam bentuk array tersebut ke database kita dengan sintaks $this->db->insert('nama_tabel', $data);

Sekarang mari kita jalankan kode kita di browser.

Cara Menambahkan Data ke Database
Tabel user

Cara Menambahkan Data ke Database
Form tambah user

Cara Menambahkan Data ke Database
Data berhasil ditambah

Oke sekian tutorial kali ini, semoga bermanfaat, Wassalamualaikum, wr. wb.

Baca Seri Lengkap CRUD Menggunakan CodeIgniter:
  1. Cara Menampilkan Data.
  2. Cara Menambahkan Data.
  3. Cara Mengedit Data.
  4. Cara Menghapus Data.

Posting Komentar

0 Komentar