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

Posted

技术标签:

【中文标题】使用已获取的 MySQL 数据行将新的 MySQL 数据附加到 DIV【英文标题】:Append new MySQL data to DIV with already fetched MySQL data rows 【发布时间】:2014-05-10 19:35:06 【问题描述】:

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

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

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

整个消息传递系统运行良好,但如果无需重新加载整个 DIV 就可以获取新消息。目标是将新行添加到已经从 MySQL 数据库获取的数据中,这样内容(如 Youtube 电影)将不会被刷新。新数据可以来自任何进行条目的用户,并且必须添加到已经存在的数据中。

据我所知,这可以通过 JQuery 以及将日期/时间与其他日期/时间进行比较来完成。

【问题讨论】:

我认为您应该将 COMET 视为很好的解决方案 ***.com/questions/6289824/… 【参考方案1】:

好吧,如果我了解您的问题,请告诉我。您希望人们进入您的网站并看到带有消息和其他带有 a 的文本框,您将在其中输入消息,然后是保存消息的按钮,并自动希望带有消息,从数据中自动加载数据根据。这是你的问题吗?

如果没问题的话。

我有一些想法可以用于 jQuery。

    您必须链接 jquery 文件。 在 在 .ready 函数中放置一个带有 .click 的函数。在此功能中,您必须放置当人们单击按钮以保存数据时想要执行的功能。我假设你有一个文件来用 php 接收数据并处理数据,所以我会放一个 .post() 来发送数据。我将使用 .serialize() 从您的 .serialize() 中获取数据。当您在变量“dataReturn”中发送 .post() 时,您可以从保存数据的过程中捕获返回。例如,如果有错误,则为“0”,如果一切正常,则为“1”,在这里我们将发送一个函数 loadMessages 以从数据库中加载消息。一个例子: loadMessages 函数,在这里你可以放一个 .post() 函数来从数据库中获取消息,你将一个帖子发布到一个 php 文件中读取,我想使用 php 的 json 编码来读取消息然后使用 jquery 读取该 Json 并将消息放入 .我猜你正在使用 作为消息,但你可以编辑该部分并使其不同。 最后,在这里,您将在每次发送新消息时加载消息,但如果您不发送消息,则可能是其他用户发送消息,因此您需要间隔使函数 loadMessages 每 5 秒或 10 秒. 函数是 setInterval 你可以在 w3school 中了解这个,它是一个 javascript 函数,第一个参数是函数,第二个参数是发送函数的间隔,以毫秒为单位。

这是一种简单的方法来做你想做的事,你可以使用其他功能来加快速度,但你可以从这个开始,然后你可以做得更好。例如,使用日期来确定哪些消息是新消息,但这是 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>");
         );

     );

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

【讨论】:

以上是关于使用已获取的 MySQL 数据行将新的 MySQL 数据附加到 DIV的主要内容,如果未能解决你的问题,请参考以下文章

使用命令行将Excel数据表导入Mysql中的方法小结

从命令行将 mysql 数据库转储到纯文本 (CSV) 备份

利用mysql,用命令行将表导出到excel,带列名!!!

通过命令行将csv导入mysql

怎么在mysql中查询已建立的存储过程

mysql 主键自增 怎么处理