Membuat notifikasi dengan PHP

Belajar PHP - Membuat Notifikasi

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:

Membuat notifikasi dengan PHP - Struktur tabel produk

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;  

Cek terlebih dahulu koneksi kalian, apabila hasilnya "Koneksi sukses!" silahkan hapus atau dijadikan komentar pada baris kode berikut:
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>    

Output:
Membuat notifikasi dengan PHP - Tampilan halaman awal

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');
  }
}

Output:
Membuat notifikasi dengan PHP - Output notifikasi tambah berhasil

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:
Membuat notifikasi dengan PHP - Output notifikasi hapus data produk

Dengan menggunakan $_GET kita mengambil nilai id dari URL yang kemudian digunakan untuk menghapus data produk berdasarkan id_produknya.

Posting Komentar

1 Komentar