gpt4 book ai didi

php - 自动刷新 Mysql 表中的 DIV 内容 - 一次一个

转载 作者:可可西里 更新时间:2023-11-01 07:39:06 26 4
gpt4 key购买 nike

我需要每 5 秒自动刷新 mysql 数据表中的内容,但一次只显示一条不同的记录,在无限循环中遍历每条记录。

我加载 news.php,它有这个 js:

<script type="text/javascript">
var auto_refresh = setInterval(function () {
$('#canvas').load('content.php').fadein("medium");}, 5000);
// refresh every 5 seconds
</script>

content.php 有数据库连接

$query_Recordset5 = "SELECT * FROM news"; 
$Recordset5 = mysql_query($query_Recordset5, $connection) or die(mysql_error());
$row_Recordset5 = mysql_fetch_assoc($Recordset5);
$totalRows_Recordset5 = mysql_num_rows($Recordset5);

以及回显到页面的字段。

我知道您必须创建一个计数器并每次都返回一条不同的记录,但我很难做到这一点。

谢谢

最佳答案

如果您的表有一个自动递增字段(例如“id”)。您首先传递 page.php 和 0 的 id,因此它将获取大于 0 的自动增量字段,然后您通过 jquery 将该字段 ID 传回。当您第二次发送它时,它不会被包括在内,因为您将使用大于号。

if num_rows == 0 检查是否有任何字段,如果没有,那么它会认为你发送给它的自增字段是最后一个,然后它会运行第一个的sql语句自动增加值。

<?php
// page.php
$id = (int) $_REQUEST['id'];
$sq = "select * from news where id > ".$id." order by id asc limit 0,1";
$qu = $con->query($sq);

if ($qu->num_rows == 0) {
$sq2 = "select * from news order by id asc limit 0,1";
$qu2 = $con->query($s2);
while ($fe = $qu->fetch_assoc()) {
echo $fe['id']."|".$fe['content'];
}
} else {
while ($fe = $qu->fetch_assoc()) {
echo $fe['id']."|".$fe['content'];
}
}
?>

<script>
$(document).ready(function() {
setInterval(function(){ updateNews(); }, 5000);
});
function updateNews() {
var id = 0;
id = $("#hidden-id").val();

$.get("page.php?id=" + id, function(data) {
// I use $.get so that I can split the data that it returns before populating
// the #canvas. This way we can strip off the first part which is the auto
// increment
var ref = data.split('|');
$("#hidden-id").val(ref[0]);
$("#canvas").html(ref[1]);
});
}
</script>

关于php - 自动刷新 Mysql 表中的 DIV 内容 - 一次一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33833401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com