Berikut adalah contoh script PHP dengan SweetAlert2 untuk konfirmasi data telah tersimpan pada tabel
dengan konsep MVC pada CodeIgniter:
Model (model_name.php):
php
Copy code
$this->db->insert('table_name', $data);
return true;
Controller (controller_name.php):
php
Copy code
$this->load->model('model_name');
$data = array(
);
$result = $this->model_name->save_data($data);
if ($result) {
$response['status'] = 'success';
} else {
$response['status'] = 'error';
echo json_encode($response);
View (view_name.php):
html
Copy code
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@10.16.6/dist/sweetalert2.min.js"></script>
<form id="form-save-data">
<button type="submit">Simpan</button>
</form>
<script>
$('#form-save-data').submit(function(e) {
e.preventDefault();
$.ajax({
type: 'post',
data: $(this).serialize(),
dataType: 'json',
success: function(response) {
if (response.status == 'success') {
Swal.fire({
icon: 'success',
title: 'Sukses',
text: response.message
});
} else {
Swal.fire({
icon: 'error',
title: 'Gagal',
text: response.message
});
});
});
</script>
Penjelasan:
Model: Di dalam model, kita membuat method save_data() untuk menyimpan data ke dalam tabel.
Method ini akan mengembalikan nilai true jika data berhasil disimpan.
Controller: Di dalam controller, kita membuat method save_data() untuk menerima data dari form
input, memanggil method save_data() di dalam model, dan mengembalikan response dalam format
JSON. Jika data berhasil disimpan, kita mengembalikan response dengan status success dan message
Data berhasil disimpan. Jika data gagal disimpan, kita mengembalikan response dengan status error dan
message Data gagal disimpan.
View: Di dalam view, kita membuat form input data dan menggunakan AJAX untuk mengirim data ke
controller melalui method save_data(). Jika data berhasil disimpan, kita menampilkan SweetAlert2
dengan icon success dan pesan `Data berhasil disimpan
frendy muhammad
lanjutkan
. Jika data gagal disimpan, kita menampilkan SweetAlert2 dengan icon error dan pesan Data gagal
disimpan.
Untuk menggunakan script ini pada CodeIgniter, pastikan Anda telah mengkonfigurasi CodeIgniter dan
memasukkan script di atas ke dalam file masing-masing. Pastikan juga untuk mengubah nama model,
controller, dan view sesuai dengan nama yang telah Anda buat sebelumnya.
Script ini mengikuti konsep Model-View-Controller (MVC) pada CodeIgniter. Model bertanggung jawab
untuk berinteraksi dengan database, controller bertanggung jawab untuk menerima request dan
memberikan response, dan view bertanggung jawab untuk menampilkan data dan interaksi dengan
pengguna.
Dengan menggunakan SweetAlert2, interaksi antara pengguna dan aplikasi menjadi lebih menarik dan
mudah dipahami. Pengguna dapat dengan mudah mengetahui apakah data telah berhasil atau gagal
disimpan ke dalam database.
frendy muhammad
Berikut adalah contoh database MySQL untuk tabel yang digunakan pada script PHP dengan SweetAlert2
untuk konfirmasi data telah tersimpan pada tabel dengan konsep MVC pada CodeIgniter:
sql
Copy code
Penjelasan:
id: Kolom untuk menyimpan ID data. Kolom ini harus bertipe data integer dan diberikan atribut
AUTO_INCREMENT agar setiap kali data disimpan, nilai ID akan bertambah secara otomatis.
field_name_1 dan field_name_2: Kolom untuk menyimpan data pada setiap field yang diinput. Kolom ini
bertipe data varchar dengan panjang maksimal 50 karakter.
Anda dapat menambahkan kolom-kolom tambahan sesuai dengan kebutuhan. Pastikan untuk
mengubah nama tabel dan kolom sesuai dengan nama yang Anda gunakan pada script PHP dan
CodeIgniter Anda.
frendy muhammad
buatkan database dengan isian, id, nama pekerja, nomer hp, umur dan jenis kelaminnya
Berikut adalah contoh database MySQL untuk tabel pekerja yang berisi data pekerja dengan kolom ID,
nama, nomor hp, umur, dan jenis kelamin:
sql
Copy code
sql
Copy code
Penjelasan:
id: Kolom untuk menyimpan ID pekerja. Kolom ini harus bertipe data integer dan diberikan atribut
AUTO_INCREMENT agar setiap kali data pekerja disimpan, nilai ID akan bertambah secara otomatis.
nama: Kolom untuk menyimpan nama pekerja. Kolom ini bertipe data varchar dengan panjang maksimal
50 karakter.
no_hp: Kolom untuk menyimpan nomor HP pekerja. Kolom ini bertipe data varchar dengan panjang
maksimal 20 karakter.
umur: Kolom untuk menyimpan umur pekerja. Kolom ini bertipe data integer dengan panjang maksimal
3 digit.
jenis_kelamin: Kolom untuk menyimpan jenis kelamin pekerja. Kolom ini bertipe data varchar dengan
panjang maksimal 10 karakter.
Anda dapat menambahkan data pekerja tambahan sesuai dengan kebutuhan. Pastikan untuk mengubah
nama tabel dan kolom sesuai dengan kebutuhan Anda.
frendy muhammad
Berikut adalah langkah-langkah untuk membuat project CRUD (Create, Read, Update, Delete) dengan
menggunakan framework PHP CodeIgniter:
Buatlah tabel "pekerja" dengan kolom ID, nama, nomor HP, umur, dan jenis kelamin.
Buatlah sebuah folder dengan nama "crud_ci" pada direktori htdocs di XAMPP.
Download dan ekstrak CodeIgniter ke dalam folder "crud_ci" yang telah dibuat pada langkah
sebelumnya.
Buatlah sebuah model dengan nama "Pekerja_model" pada direktori "application/models". Isikan
dengan script berikut:
php
Copy code
<?php
parent::__construct();
$this->load->database();
$query = $this->db->get('pekerja');
return $query->result_array();
return $query->row_array();
$this->db->insert('pekerja', $data);
return $this->db->insert_id();
$this->db->update('pekerja', $data);
$this->db->where('id', $id);
$this->db->delete('pekerja');
Penjelasan:
update($id, $data): Mengupdate data pekerja dengan ID tertentu pada tabel "pekerja".
Buatlah sebuah controller dengan nama "Pekerja" pada direktori "application/controllers". Isikan
dengan script berikut:
php
Copy code
<?php
parent::__construct();
$this->load->model('Pekerja_model');
$this->load->helper('url');
}
$data['pekerja'] = $this->Pekerja_model->get_all();
$this->load->view('pekerja/index', $data);
$this->load->view('pekerja/tambah');
$data = array(
);
$this->Pekerja_model->add($data);
redirect('pekerja');
$data['pekerja'] = $this->Pekerja_model->get_by_id($id);
frendy muhammad
lanjutkan
kotlin
Copy code
$this->load->view('pekerja/edit', $data);
$id = $this->input->post('id');
kotlin
Copy code
$data = array(
);
$this->Pekerja_model->update($id, $data);
redirect('pekerja');
$this->Pekerja_model->delete($id);
scss
Copy code
redirect('pekerja');
php
Copy code
Penjelasan:
- `index()`: Menampilkan halaman utama dengan menampilkan semua data pekerja yang ada.
- `simpan()`: Menyimpan data pekerja baru ke dalam tabel "pekerja" dan mengarahkan kembali ke
halaman utama.
- `update()`: Mengupdate data pekerja dengan ID tertentu pada tabel "pekerja" dan mengarahkan
kembali ke halaman utama.
- `hapus($id)`: Menghapus data pekerja dengan ID tertentu dari tabel "pekerja" dan mengarahkan
kembali ke halaman utama.
7. Buatlah sebuah folder dengan nama "pekerja" pada direktori "application/views". Di dalam folder
"pekerja", buatlah tiga buah file view dengan nama "index.php", "tambah.php", dan "edit.php". Isikan
dengan script berikut:
index.php:
```html
<!DOCTYPE html>
<html>
<head>
<title>Daftar Pekerja</title>
</head>
<body>
<h2>Daftar Pekerja</h2>
<tr>
<th>ID</th>
<th>Nama</th>
<th>No. HP</th>
<th>Umur</th>
<th>Jenis Kelamin</th>
<th>Aksi</th>
</tr>
<tr>
<td>
<a href="<?php echo base_url('pekerja/edit/'.$row['id']); ?>" class="btn btn-warning btn-
sm">Edit</a>
</td>
</tr>
</table>
frendy muhammad
lanjutkan
tambah.php:
html
Copy code
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="form-group">
<label>Nama</label>
</div>
<div class="form-group">
<label>No. HP</label>
</div>
<div class="form-group">
<label>Umur</label>
</div>
<div class="form-group">
<label>Jenis Kelamin</label>
<option value="L">Laki-laki</option>
<option value="P">Perempuan</option>
</select>
</div>
</form>
</div>
</body>
</html>
edit.php:
html
Copy code
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="form-group">
<label>Nama</label>
</div>
<div class="form-group">
<label>No. HP</label>
</div>
<div class="form-group">
<label>Umur</label>
</div>
<div class="form-group">
<label>Jenis Kelamin</label>
</select>
</div>
frendy muhammad
lanjutkan
controller/Pekerja.php:
php
Copy code
<?php
parent::__construct();
$this->load->model('pekerja_model');
$this->load->library('form_validation');
$data['pekerja'] = $this->pekerja_model->get_all_data();
$this->load->view('pekerja/index', $data);
$this->load->view('pekerja/tambah');
$this->load->view('pekerja/tambah');
} else {
$data = array(
);
$this->pekerja_model->simpan_data($data);
redirect('pekerja');
$data['pekerja'] = $this->pekerja_model->get_data_by_id($id);
if (!$data['pekerja']) show_404();
$this->load->view('pekerja/edit', $data);
if ($this->form_validation->run() == FALSE) {
$this->load->view('pekerja/edit');
} else {
$data = array(
);
$this->pekerja_model->update_data($data);
redirect('pekerja');
$this->pekerja_model->hapus_data($id);
redirect('pekerja');
}
model/Pekerja_model.php:
php
Copy code
<?php
frendy muhammad
lanjutkan
$query = $this->db->get('pekerja');
return $query->result();
$this->db->insert('pekerja', $data);
return $query->row();
}
$this->db->where('id', $data['id']);
$this->db->update('pekerja', $data);
$this->db->where('id', $id);
$this->db->delete('pekerja');
php
Copy code
view/pekerja/index.php:
```php
<!DOCTYPE html>
<html>
<head>
<title>CRUD Pekerja</title>
</head>
<body>
<span class="navbar-toggler-icon"></span>
</button>
<ul class="navbar-nav">
<li class="nav-item">
</li>
<li class="nav-item">
</li>
</ul>
</div>
</nav>
<span aria-hidden="true">×</span>
</button>
</div>
<table class="table">
<thead>
<tr>
<th>ID</th>
<th>Nama</th>
<th>Nomor HP</th>
<th>Umur</th>
<th>Jenis Kelamin</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<tr>
frendy muhammad
lanjutan
php
Copy code
</td>
</tr>
</tbody>
</table>
</div>
<script type="text/javascript">
function hapusData(id) {
Swal.fire({
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
type: 'POST',
success: function() {
Swal.fire(
'Berhasil!',
'success'
).then((result) => {
location.reload();
});
},
error: function() {
Swal.fire(
'Error!',
'error'
);
});
})
</script>
</body>
</html>
```
Controller Pekerja.php:
php
Copy code
<?php
parent::__construct();
$this->load->model('Pekerja_model');
$data['pekerja'] = $this->Pekerja_model->get_all_data();
$this->load->view('pekerja/index', $data);
$this->load->view('pekerja/tambah');
$data = array(
);
$this->Pekerja_model->simpan_data($data);
$this->session->set_flashdata('success', 'Data berhasil disimpan.');
redirect('pekerja');
$data['pekerja'] = $this->Pekerja_model->get_data_by_id($id);
$this->load->view('pekerja/edit', $data);
$data = array(
);
$this->Pekerja_model->update_data($data);
$this
frendy muhammad
tolong lanjutkan
rust
Copy code
->session->set_flashdata('success', 'Data berhasil diupdate.');
redirect('pekerja');
$id = $this->input->post('id');
$this->Pekerja_model->hapus_data($id);
php
Copy code
Model Pekerja_model.php:
```php
<?php
return $this->db->get('pekerja')->result();
{
$this->db->insert('pekerja', $data);
$this->db->where('id', $data['id']);
$this->db->update('pekerja', $data);
$this->db->where('id', $id);
$this->db->delete('pekerja');
Sekarang, jika Anda membuka halaman http://localhost/nama_folder/pekerja, Anda akan melihat tabel
daftar pekerja beserta tombol untuk menambah, mengedit, dan menghapus data. Ketika Anda menekan
tombol tambah, akan muncul halaman form untuk menambahkan data pekerja. Saat Anda menekan
tombol simpan, data yang Anda inputkan akan disimpan ke dalam database dan Anda akan kembali ke
halaman daftar pekerja dengan notifikasi bahwa data berhasil disimpan. Jika Anda menekan tombol edit
pada salah satu baris tabel, Anda akan diarahkan ke halaman form untuk mengedit data pekerja
tersebut. Setelah Anda mengubah data yang diperlukan dan menekan tombol update, data akan
diupdate ke dalam database dan Anda akan kembali ke halaman daftar pekerja dengan notifikasi bahwa
data berhasil diupdate. Jika Anda menekan tombol hapus pada salah satu baris tabel, akan muncul
konfirmasi menggunakan sweet alert 2 dan jika Anda menekan tombol ya, data tersebut akan dihapus
dari database dan halaman akan direload dengan notifikasi bahwa data berhasil dihapus.