Belajar PHP - Membuat notifikasi ketika tambah dan hapus data dengan PHP
Hai, berjumpa kembali dalam blog sederhana ini, kali ini kita akan membuat
sebuah notifikasi atau pemberitahuan dengan menggunakan session di PHP.
Sebagai contoh kali ini kita akan menampilkan pesan ketika melakukan tambah
dan hapus data saja supaya lebih sederhana kita tidak melakukan ubah data.
File-file yang akan kita buat diantaranya:
- Koneksi.php
- Produk.php
- index.php
- add-produk.php
- delete-produk.php
Dan untuk databasenya saya beri nama test dan tabel didalamnya dengan
nama produk.
Baiklah, langsung saja kita buat dulu databasenya (nama database bebas, nanti
tinggal sesuaikan saja), dan untuk struktur tabel produknya akan seperti
gambar berikut:
Jika database beserta tabelnya sudah selesai dibuat, sekarang kita buat
koneksinya.
Koneksi.php
<?php
/**
*
*/
class Koneksi
{
private $host = 'localhost';
private $uname = 'root';
private $pass = '';
private $db_name = 'test';
protected $conn = '';
function __construct()
{
$this->conn = mysqli_connect($this->host, $this->uname, $this->pass, $this->db_name);
// untuk mengecek database
// jika koneksi sukses biar tulisan tidak muncul silahkan dihapus atau dikomentari
if ($this->conn) {
echo "Koneksi sukses!";
} else {
die("Koneksi gagal : ".mysqli_connect_error());
}
// sampe sini
}
}
$konek = new Koneksi;
if ($this->conn) {
echo "Koneksi sukses!";
} else {
die("Koneksi gagal : ".mysqli_connect_error());
}
Produk.php
Pada file ini kita akan membuat beberapa method diantaranya
read(), add() dan delete(). Masing-masing method memiliki
fungsi yang berbeda, yaitu:
- read() - Menampilkan seluruh data
- add() - Menambahkan data
- delete() - Hapus data berdasarkan id_produk
<?php
require_once 'Koneksi.php';
/**
*
*/
class Produk extends Koneksi
{
function read()
{
$q = $this->conn->query('SELECT * FROM produk');
return $q;
}
function add($nama, $harga, $qty)
{
$q = $this->conn->query("INSERT INTO produk VALUES ('', '$nama', '$harga', '$qty')");
return $q;
}
function delete($id)
{
$q = $this->conn->query("DELETE FROM produk WHERE id_produk = '$id'");
return $q;
}
}
// instansiasi class Produk
$produk = new Produk
index.php
Disini kita akan menampilkan seluruh data produk dan juga menambahkan
fitur tambah data dan hapus data.
<?php
session_start();
require_once 'Produk.php';
$d_produk = $produk->read(); // untuk menampilkan data produk
?>
<!DOCTYPE html>
<html>
<head>
<title>Notifikasi dengan PHP</title>
</head>
<body>
<h3>Tambah data produk</h3>
<?php
if (isset($_SESSION['pesan'])) {
echo $_SESSION['pesan'];
unset($_SESSION['pesan']);
}
?>
<form action="add-produk.php" method="POST">
<label for="">Nama Produk</label>
<input type="text" name="nama_produk">
<label for="">Harga</label>
<input type="text" name="harga">
<label for="">Qty</label>
<input type="number" name="qty">
<input type="submit" name="tambah">
</form>
<h3>Tampil data produk</h3>
<table border="1">
<tr>
<th>No.</th>
<th>Nama Produk</th>
<th>Harga</th>
<th>Qty</th>
<th>Aksi</th>
</tr>
<?php
$no = 1;
while ($r = $d_produk->fetch_assoc()) {
echo "<tr>
<td>".$no++."</td>
<td>".$r['nama_produk']."</td>
<td>".$r['harga']."</td>
<td>".$r['qty']."</td>
<td><a href='delete-produk.php?id=".$r['id_produk']."'>Hapus</a></td>";
}
?>
</table>
</body>
</html>
add-produk.php
File ini berisi kode untuk proses penambahan data produk dengan
menggunakan method add(). Ketika proses berhasil maka akan
diarahkan kembali ke halaman index.php dengan membawa session
pesan.
<?php
require_once 'Produk.php';
if (isset($_POST['tambah'])) {
$nama_produk = $_POST['nama_produk'];
$harga = $_POST['harga'];
$qty = $_POST['qty'];
if ($produk->add($nama_produk, $harga, $qty)) {
session_start();
$_SESSION['pesan'] = "<strong>Data produk berhasil ditambah</strong>";
header('Location: index.php');
}
}
delete-produk.php
Berisi baris kode untuk proses hapus data produk, disini method
delete() digunakan.
delete($_GET['id'])) {
session_start();
$_SESSION['pesan'] = "Data produk berhasil dihapus";
header('Location: index.php');
}
} else {
header('Location: index.php');
}
Output:
$_GET
kita mengambil nilai id dari URL yang kemudian digunakan untuk menghapus data produk berdasarkan id_produknya.
1 Komentar
Komentar ini telah dihapus oleh pengarang.
BalasHapus