Php mysql数据库一个接一个返回的随机数据?

Php mysql数据库一个接一个返回的随机数据?,php,mysql,sql,Php,Mysql,Sql,我有一个事实数据库,我想随机显示其中一个事实,比如说10秒钟,然后让它选择另一个事实并显示10秒钟,以此类推 目前,我可以让它显示一个随机的事实罚款使用下面的代码,但我有点困惑如何显示这10秒,然后显示一个不同的事实。任何帮助或建议都会很好吗?谢谢 <?php $linkid = $_GET['linkID']; $query = "SELECT * FROM facts ORDER BY RAN

我有一个事实数据库,我想随机显示其中一个事实,比如说10秒钟,然后让它选择另一个事实并显示10秒钟,以此类推

目前,我可以让它显示一个随机的事实罚款使用下面的代码,但我有点困惑如何显示这10秒,然后显示一个不同的事实。任何帮助或建议都会很好吗?谢谢

<?php 
  $linkid = $_GET['linkID'];            
  $query  = "SELECT *  
               FROM facts 
           ORDER BY RAND() 
              LIMIT 1";

  $result = mysql_query($query);

  while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $factxt = $row ['factxt'];
    echo $factxt;
  }
?>

您好,我尝试了下面建议的两种方法,使用ajax和jquery,但都从数据库返回相同的错误:

警告:mysql_query[function.mysql query]:无法通过第4行getfact.php中的套接字“/var/run/mysqld/mysqld.sock”2连接到本地mysql服务器

这是getfact.php的第4行,$query=SELECT*FROM facts order by rand limit 1; $result=mysql\u query$query


有什么地方我做错了吗?

您可以在jQuery库的帮助下使用Ajax

示例代码:

setInterval(retrieveFact, 10000); // call retrieveFact() every 10 seconds

function retrieveFact() {
    // make an asynchronous call to getfact.php
    $.post('/getfact.php', function(data) { 
       // when it returns, set the content of div with id=#factbox
       $('#factbox').html(data); 
    });
});
这里,getfact.php将是您粘贴在问题上的代码

并在html中的某个位置放置将接收文本的元素:

<div id="factbox"></div>
更多参考资料:


为此,您可以使用ajax,使用的时间间隔是通过ajax/getJSON加载某些数据,或者在iframe中加载此页面,并每10秒添加一次自动刷新元刷新。

首先必须包含jQuery库,然后使用此示例代码

somefile.php/html:

<script type="text/javascript" src="jquery.min.js"></script>
<script>
function getRand() {
$.ajax({
url: "getFact.php",
success: function(response) {
$("#random").html(response).hide().fadeIn("slow");
}
});
};
setInterval("getRand()", 10000);
</script>
<div id="random"></div> 
getFact.php:

<?php 
$linkid = $_GET['linkID'];          
$query  = "SELECT *  FROM facts order by rand() limit 1";
$result = mysql_query($query);
$factxt= $row ['factxt'];
echo $factxt;
?>

当限制为1时,您不需要将信息放入循环。

但是您必须检查是否没有返回结果。好的,我尝试了下面建议的两种方法,使用ajax和jquery,但都从数据库返回相同的错误:警告:mysql\u query[function.mysql query]:无法通过getfact.php第4行的套接字“/var/run/mysqld/mysqld.sock”2连接到本地MySQL服务器这是getfact.php的第4行,$query=SELECT*FROM facts order by rand limit 1$结果=mysql\u query$query;有什么我做错了吗?在文件getFact.php中,您将连接到数据库。您好,我尝试了下面建议的两种方法,使用ajax和jquery,但都从数据库返回相同的错误:警告:mysql\u query[function.mysql query]:无法通过getfact.php第4行的套接字“/var/run/mysqld/mysqld.sock”2连接到本地MySQL服务器这是getfact.php的第4行,$query=SELECT*FROM facts order by rand limit 1$结果=mysql\u query$query;有什么我做错了吗?你的mysql设置不正确。检查文件中是否缺少包含。谢谢,是的,我只是有点傻,有点累了,忘了包含database.php include!谢谢你的帮助,它工作得很好。