繁体   English   中英

如何使用AJAX,PHP和MySQL实时进行通知?

[英]How to make notifications in real time with AJAX, PHP and MySQL?

我想在我的网站上进行实时通知。 我有通知栏:

<div class="alert alert-info alert-with-icon" data-notify="container">
  <button type="button" aria-hidden="true" class="close">
     <i class="nc-icon nc-simple-remove"></i>
  </button>
  <span data-notify="icon" class="nc-icon nc-bell-55"></span>
  <span data-notify="message"><h6>TEXT HERE</h6></span>
</div>

我想在上方提供的文字中输入文字。

我创建了一个JS函数来调用一个PHP文件,该文件将在数据库中读取最后一条消息。

index.php中的JS代码:

function charger() {

      setTimeout( function(){
        $.ajax({
          url : "charger.php",
          type : GET,
          success : function(html){
            $("h6").prepend(html);
          }
        });

        charger();

      },5000);
    }

    charger();

charger.php中的PHP文件:

<?php

  $servername = "localhost";
  $username = "scanner";
  $password = "valentin";
  $dbname = "Scanner3D";

  try {
    $bdd = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  }
  catch(PDOException $e)
  {
  }

  // Recuperation des notifications du Scanner
  $requete = $bdd->query('SELECT message FROM notifications ORDER BY id DESC');

  $messages = null;

  while($donnees = $requete->fetch()){
    $messages = $donnees['message'];
  }

  echo $messages;

?>

但是我无法在通知位置显示在数据库中读取的文本。

GET没有定义,因为您应该使用引号将其括起来,因为它是您将使用的HTTP方法的名称,而不是代码中的变量。

$.ajax({
    url: "charger.php",
    type: "GET",
    success: function(html){
        $("h6").prepend(html);
    }
});

顺便说一句,您应该关注setInterval

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM