Cara menggunakan ajax notification php

Output dari kode diatas apabila ada orang yang berkomentar, notifikasinya terkirim ke semua user, walaupun bukan dia yang menulis artikel itu.

Kalau ada pertanyaan saya / codenya yang kurang jelas,
bisa tanyakan saja ke saya lagi....

Pada kesempatan kali ini saya akan Membuat Notifikasi Facebook Menggunakan PHP AJAX. Dimana animasi notifikasi akan dibuat mirip seperti di tampilan facebook.

Langkah pertama untuk Membuat Notifikasi Facebook Menggunakan PHP AJAX adalah membuat design databasenya terlebuh dahulu atau teman-teman bisa salin script di bawah ini.

CREATE TABLE IF NOT EXISTS `shelli_comments` (

  `comment_id` int(11) NOT NULL,

  `comment_subject` varchar(250) NOT NULL,

  `comment_text` text NOT NULL,

  `comment_status` int(1) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--

ALTER TABLE `shelli_comments`

  ADD PRIMARY KEY (`comment_id`);

--

ALTER TABLE `shelli_comments`

  MODIFY `comment_id` int(11) NOT NULL AUTO_INCREMENT;

Jika sudah berikutnya kita akan membuat tampilan struktur html seperti berikut. Simpan dengan nama index.php

 

 

Membuat Notifikasi Facebook Menggunakan PHP Ajax

 

 

 

 

 

 

 

  

   

    

     

    

    

         

  •       

          

         

  •     

   

  

  

  

Isi Komentar Anda

  

  

   

     Nama

    

   

   

     Komentar

    

   

   

    

   

  

 

 

Dan selanjutnya masih dalam satu file, saya akan membuat script ajax untuk dapat membuat proses simpan dan menampilkan data notifikasi.

Dan dilanjutkan dengan membuat file baru dengan nama insert.php untuk perintah simpan ke database menggunakan PHP.

Pada kesempatan ini kita akan membahas tentang sistem notifikasi dengan menggunakan PHP, AJAX dan Bootstrap, sistem notifikasi ini bisa anda terapkan pada aplikasi / projek anda.


Cara menggunakan ajax notification php



 langsung saja untuk membuatnya seperti biasa buat dulu html nya seperti berikut:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>Popup Notification Like Facebook using PHP AJAX Bootstrap</title>

<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" charset="utf-8"></script>

<style media="screen">

        #alert-popover

        {

        display: block;

        position: absolute;

        bottom: 50px;

        left: 50px;

        }

        .wrapper

        {

        display: table-cell;

        vertical-align: bottom;

        height: auto;

        width: 200px;

        }

        .alert-default

      {

              color: #333333;

              background: #f2f2f2;

              border-color: #cccccc;

              }

</style>

</head>

<body>

<br/><br/>

<div class="container">

<br>

<h2>Facebook Style Notification Using PHP Ajax & Bootstrap</h2>

<br>

<!-- Form  -->

<form id="comment_form" method="post">

<div class="form-group">

<label>Enter Subject</label>

<input type="text" name="subject" id="subject" class="form-control"/>

</div>

<div class="form-group">

<label>Enter Comment</label>

<textarea name="comment" id="comment" class="form-control"></textarea>

</div>

<div class="form-group">

<input type="submit" name="post" id="post" class="btn btn-info" value="Post"/>

</div>

</form>

<!-- Form berakhir disini  -->



<div id="alert-popover">

<div class="wrapper">

<div class="content">



</div>

</div>

</div>

</div>

</body>

</html>



<script>

  $(document).ready(function(){



          setInterval(function(){

          load_last_notification();

          }, 10000);



          function load_last_notification()

          {

          $.ajax({

          url:"fetch.php",

          method:"POST",

          success:function(data)

          {

          $('.content').html(data);

          }

          })

          }



          $('#comment_form').on('submit', function(event){

          event.preventDefault();

          if ($('#subject').val() != '' && $('#comment').val() != '')

          {

          var form_data = $(this).serialize();

          $.ajax({

          url:"insert.php",

          method:"POST",

          data:form_data,

          success:function(data)

          {

          $('#comment_form')[0].reset();

          }

          })

          }

          else

          {

          alert("Both Fields are Required");

          }

          });

          });

</script>


kemudian buat file PHP untuk menyimpan datanya seperti berikut:

<?php



        //insert

        if (isset($_POST["subject"]))

        {

        $connect = mysqli_connect("localhost", "root", "", "notification");

        $subject = mysqli_real_escape_string($connect, $_POST["subject"]);

        $comment = mysqli_real_escape_string($connect, $_POST["comment"]);



        $query = "INSERT INTO comments(comment_subject, comment_text) VALUES ('$subject', '$comment')";

        mysqli_query($connect, $query);

}


lalu buat lagi file php untuk mengambil datanya, file ini yang akan menampilkan notifikasinya dalam bentuk alert dialog:

<?php

    error_reporting(0);



//

$connect = mysqli_connect("localhost", "root", "", "notification");

        $query = "SELECT * FROM comments WHERE comment_status = 0 ORDER BY comment_id DESC";

        $result = mysqli_query($connect, $query);



        while ($row = mysqli_fetch_array($result))

        {

        $output .= '

<div class="alert alert-default">

<a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>

<p><strong>'.$row["comment_subject"].'</strong>

<small><em>'.$row["comment_text"].'</em></small>

</p>

</div>

        ';

        }



        $update_query = "UPDATE comments SET comment_status = 1 WHERE comment_status = 0";

        mysqli_query($connect, $update_query);

        echo $output;


terakhir untuk tabel databasenya seperti berikut:

-- phpMyAdmin SQL Dump
        -- version
4.5.1
       
-- http://www.phpmyadmin.net
       
--
        -- Host:
127.0.0.1
       
-- Generation Time: 26 Sep 2017 pada 00.17
       
-- Versi Server: 10.1.16-MariaDB
        -- PHP Version:
5.6.24

       
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
        SET time_zone =
"+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

        --
        -- Database: `notification`
        --

        -- --------------------------------------------------------

        --
        -- Struktur dari tabel `comments`
        --

        CREATE TABLE `comments` (
        `comment_id`
int(11) NOT NULL,
        `comment_subject` varchar(
100) NOT NULL,
        `comment_text` varchar(
255) NOT NULL,
        `comment_status`
int(1) NOT NULL DEFAULT '0'
       
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

        --
        -- Dumping data untuk tabel `comments`
        --

        INSERT INTO `comments` (`comment_id`, `comment_subject`, `comment_text`, `comment_status`) VALUES
        (
1, 'peter send you a message', 'hello friend, how are you?', 1),
        (
2, 'hello friend, how are you?', 'hhhi', 1),
        (
3, 'hi', 'hello', 1),
        (
4, 'hi', 'hi', 1),
        (
5, 'peter parker send you a message', 'hi jhon ', 1),
        (
6, 'you have a friend request from jhon', 'jhon: do you a friend', 1),
        (
7, 'parker send you a message', 'Nice to meet you', 1);

        --
        -- Indexes
for dumped tables
        --

        --
        -- Indexes
for table `comments`
        --
        ALTER TABLE `comments`
        ADD PRIMARY KEY (`comment_id`);

        --
        -- AUTO_INCREMENT
for dumped tables
        --

        --
        -- AUTO_INCREMENT
for table `comments`
        --
        ALTER TABLE `comments`
        MODIFY `comment_id`
int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=8;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;



silakan jalankan program anda jika ada yng kurang jelas silakan ditanyakan, jika artikel ini bermanfaat silkan di share, anda juga bisa melihat demo notifikasi ini pada tautan di bawah. terimakasih sudah mampir ke blog kami.