仅当将新内容添加到数据库时才刷新div的内容

是否可以仅在将新内容添加到数据库时刷新div内容?

我将其用于旁边菜单中显示的“最近post”。

现在div每隔10秒刷新一次。

是否有可能检查一个新的post被添加到数据库然后只添加发布数据到div?

我正在使用MySql,php和jquery来完成所有这些。

对的,这是可能的

以下代码将获取最近添加的照片:

  1. 在TIMER.PHP之后(或你的wordpress博客页面)
  2. 并且仅在添加新照片后(您可以将其用于最近的post,评论或任何内容)

例如,这可以用于创建实时博客,其中用户将看到所有最近的评论,图像或post或所有内容,即使他没有重新加载当前页面。 并且它不会消耗大量带宽,因为只有新添加内容才会重新加载(否则只会在数据库中发送一个小的支票)。

我刚刚完成了解决方案,我必须与你分享。 我正在为Wordpress做这件事,我需要一个function来获取在用户加载页面后添加的照片。 它可以通过简单地每隔5秒刷新div来完成,但想象一下,如果有20张照片,并且它们必须每5秒刷新一次……那就是大量的MB数据。 因此,我们只会在添加新照片时刷新它们(您可以将其应用于任何内容,从post到评论或用户等)。

有3个PHP文件: timer.phpcheck.phpdisplay.php

timer.php将每5秒加载一次check.php,以检查是否添加了新内容。 注意从check.php的当前加载时间开始的-6提取

timer.php的日期时间将通过check.php(通过** display.php?timm =’。$ tizz。’ )传递给check.php?tim = **打印日期。 display.php,所以我们可以将它用作我们数据库中的引用(如果添加了新图像,那将是我们加载所有图像的时间)。

如果有任何问题,请问。 它也必须为你工作,因为它适合我。

请享用! 🙂

以下是3个PHP文件,只需根据您的需求进行自定义:

TIMER.PHP (或您的wordpress博客页面):

   

CHECK.PHP:

  $(document).ready( function(){ $("#quote a").load("display.php?timm='. $tizz .'"); } ); '; } } // Close the database connection mysql_close(); ?> 

DISPLAY.PHP

  '$tipp' ORDER BY `wp_posts`.`id` DESC LIMIT 10"; // Execute the query (the recordset $rs contains the result) $rs = mysql_query($strSQL); // Loop the recordset $rs // Each row will be made into an array ($row) using mysql_fetch_array while($row = mysql_fetch_array($rs)) { //guid is the column where the image url is located in the wordpress database table $atime = $row['guid']; echo "
"; } // Close the database connection mysql_close(); ?>

是的,你可以通过比较文本内容来做到这一点。

 function updateHtmlContent() { var htmlContent=$('#divToUpdate').text(); $.ajax({ type: "GET", datatype: "text", //php function that should give you the text back url: 'dataBaseFunction.php', success: function(data) { if (htmlContent != data) { $('#divToUpdate').text(data); } } }); } //compare and upate every 20 seconds setInterval(updateHtmlContent(), 20000); 

希望这有帮助!

是可以的,但你需要在php创建一个方法并使用Ajax刷新你的div

如果您使用代码更新您的问题,我可以提供一个示例。

我想你可能只有90%左右。 我假设你每隔10秒就在内容中使用jQuery到AJAX(PS看起来好像很多?)

我认为你可以通过在最近发现的post之后使用后期function开始来解决你的问题。

因此,如果您的查询现在看起来像这样:

SELECT a,b,c FROM foo

你应该把它改成

SELECT a,b,c FROM foo WHERE id > $last_found_id

您可以将last_found_id存储在Javascript中,并在调用该函数时将其发回。 如果结果集为空,则不必刷新div。

此更改也可能要求您预先/附加到div而不是完全覆盖它。

查看javascript中的setInterval(function, time) ,使每个“时间”(以毫秒为单位)循环,

和jQuery中的函数$.ajax()将信息传递给服务器..

此外,您必须使用.html().append()创建新内容