使用已获取的MySQL数据行将新的MySQL数据附加到DIV

时间:2014-03-31 12:49:27

标签: java php jquery mysql ajax

美好的一天,我开始学习PHP,Mysql(i)和CSS5一个月了,但我遇到了一个问题,我只能用PHP来解决这个问题。必须使用Jquery和Ajax来解决它,我不知道从哪里开始。我想学习,而不仅仅是复制和粘贴代码......

我的情况: 2个Div:消息和tinymce

(Div)消息包含用户发布的所有消息 (Div)Tinymce包含一个带有tinymce的输入文本框。

整个邮件系统工作正常,但在不重新加载整个DIV的情况下获取新邮件会很不错。目标是将新行添加到MySQL数据库中已经获取的数据中,这样就不会刷新内容(如Youtube电影)。新数据可以来自任何创建条目的用户,并且必须添加到已存在的数据中。

对于我能理解的内容,可以使用JQuery以及将日期/时间与其他内容进行比较的内容。

1 个答案:

答案 0 :(得分:0)

好吧,如果我理解你的问题,请告诉我。您希望那些人进入您的网站并查看带有消息和其他文本框的消息,然后您将输入消息,然后按一个按钮来保存消息并自动希望带消息,自动加载数据中的数据基础。这是你的问题吗?

好吧,如果还可以。

我有一些你可以使用jQuery的想法。

  1. 您必须链接jquery文件。
  2. 内部<脚本>标签,放置函数$(document).ready();
  3. .ready函数内部放了一个带.click的函数。在此功能中,当人们在按钮中单击以保存数据时,您必须放置您想要执行的功能。我想你有一个文件用php接收数据并处理数据,所以我会放一个.post()来发送数据。我将使用.serialize()从您的数据中获取数据。你在变量" dataReturn"中发送.post()你可以从保存数据的过程中捕获一个返回。例如" 0"如果有错误或" 1"如果一切正常,我们将发送一个函数loadMessages来加载来自数据库的消息。一个例子:
  4. loadMessages函数,在这里你可以放一个.post()函数来从数据库中获取消息,你发一个帖子到一个php文件来读取,我想从php使用一个json编码来读取消息然后用jquery读取Json并将消息放入。我猜你正在使用<李>对于消息,但您可以编辑该部分并使其不同。
  5. 最后,在这里,您每次发送新邮件时都会加载邮件,但如果您没有发送邮件,也许其他用户发送邮件,那么您需要和间隔每5秒钟生成一次函数loadMessages或者10.函数是setInterval你可以在w3school中了解到这一点,它是javascript函数的第一个参数函数,第二个是以毫秒为单位发送函数的间隔。
  6. 这是一种简单的方法来做你想要的,你可以使用其他功能来加快速度,但你可以从这开始,然后你可以做得更好。例如,使用日期来确定哪些消息是新的,但这是PHP的一部分。 :)

    $( document ).ready(function() {
    
      $( "#yourButtonId" ).click(function() {
    
          var data = $( "#yourFormId" ).serialize();
    
          $.post( "yourPHPfileToSave.php", data,function( dataReturn ) {
    
             if(dataReturn==0){
                    alert("There's an error.");
             }else{
                  loadMessages();
             }
         });
       });
       setInterval(loadMessages(), 5000);
    });
    
    function loadMessages(){
    
        $.post( "yourPHPfileToRead.php",function( dataReturn ) {
               $.each( data, function( key, val ) {
                  oldMessages = $("#YouMessagesDivId").html();
                 $("#YouMessagesDivId").html(oldMessages+"<li>"+val+"</li>");
             });
    
         });
    }
    

    如果您有问题,请告诉我:)问候。祝你有愉快的一天。