DISKON TERBATAS! Masukkan kupon "skillbaru" saat checkout di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Membangun fitur notifikasi pada website adalah salah satu cara untuk meningkatan interaksi pengguna. Notifikasi bisa memberitahu pengguna tentang update baru, pesan, atau kegiatan lainnya. PHP sebagai server-side scripting language, dapat digunakan untuk membuat sistem notifikasi yang sederhana. Berikut ini adalah langkah-langkah untuk membuat notifikasi di website PHP:
Pertama, pastikan kamu sudah memiliki server lokal (seperti XAMPP) atau server hosting dan sebuah database (biasanya MySQL) yang siap digunakan.
Untuk menyimpan informasi notifikasi, kamu memerlukan sebuah tabel dalam database. Berikut adalah contoh query SQL untuk membuat tabel notifikasi:
CREATE TABLE notifikasi (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100),
message TEXT,
status ENUM('unread', 'read') DEFAULT 'unread',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Saat sebuah event terjadi yang membutuhkan notifikasi, kamu harus menyimpan detail event tersebut ke dalam tabel notifikasi. Contoh PHP script untuk menyimpan notifikasi ke dalam database:
<?php
// Koneksi ke database
$koneksi = mysqli_connect("hostname", "username", "password", "database");
// Cek koneksi
if (!$koneksi) {
die("Connection failed: " . mysqli_connect_error());
}
// Data notifikasi
$title = "Judul Notifikasi";
$message = "Pesan notifikasi kamu";
// Query menyimpan data notifikasi
$sql = "INSERT INTO notifikasi (title, message) VALUES ('$title', '$message')";
if (mysqli_query($koneksi, $sql)) {
echo "Notifikasi berhasil disimpan.";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($koneksi);
}
mysqli_close($koneksi);
?>
Untuk menampilkan notifikasi yang belum dibaca, kamu perlu melakukan query ke tabel notifikasi:
<?php
// Koneksi ke database
$koneksi = mysqli_connect("hostname", "username", "password", "database");
// Cek koneksi
if (!$koneksi) {
die("Connection failed: " . mysqli_connect_error());
}
// Query mendapatkan notifikasi yang belum dibaca
$sql = "SELECT * FROM notifikasi WHERE status = 'unread'";
$result = mysqli_query($koneksi, $sql);
if (mysqli_num_rows($result) > 0) {
// output data setiap baris
while($row = mysqli_fetch_assoc($result)) {
echo "id: " . $row["id"]. " - Title: " . $row["title"]. " " . $row["message"]. "<br>";
}
} else {
echo "Tidak ada notifikasi baru.";
}
mysqli_close($koneksi);
?>
Saat pengguna mengklik atau melihat notifikasi, kamu harus mengubah statusnya menjadi ‘read’. Ini dapat dilakukan dengan mengirim ID notifikasi yang relevan ke server dan menjalankan query update.
<?php
// Koneksi ke database
$koneksi = mysqli_connect("hostname", "username", "password", "database");
// Cek koneksi
if (!$koneksi) {
die("Connection failed: " . mysqli_connect_error());
}
// ID notifikasi yang dibaca
$notificationId = $_GET['id'];
// Query mengubah status notifikasi menjadi 'read'
$sql = "UPDATE notifikasi SET status = 'read' WHERE id = $notificationId";
if (mysqli_query($koneksi, $sql)) {
echo "Notifikasi telah dibaca.";
} else {
echo "Error updating record: " . mysqli_error($koneksi);
}
mysqli_close($koneksi);
?>
Untuk membuat notifikasi yang muncul tanpa perlu memuat ulang halaman, kamu bisa menggunakan AJAX. Berikut adalah contoh penggunaan AJAX dengan jQuery untuk memeriksa notifikasi baru secara berkala:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
setInterval(function(){
$("#notification").load("cekNotifikasi.php");
}, 3000); // Perbarui setiap 3 detik
});
</script>
<div id="notification"></div>
cekNotifikasi.php
adalah file PHP yang akan mengembalikan daftar notifikasi yang belum dibaca.
Dengan mengikuti langkah-langkah di atas, kamu sudah bisa membuat sistem notifikasi sederhana untuk website PHP kamu. Selamat mencoba dan berkreasi dengan fitur notifikasi agar pengguna semakin betah berinteraksi di website kamu.
Link terkait: