gpt4 book ai didi

php - 单击时从 MySQL 获取随机行

转载 作者:行者123 更新时间:2023-11-29 12:27:26 24 4
gpt4 key购买 nike

我正在创建一个随机报价生成器并将数据存储在 MySQL 数据库中。该代码正在运行,但每次我单击时它都会继续获取同一行而不是新的随机行。但如果我等待 30 秒并再次单击,它就会正常工作。我只是希望它在点击后立即生效。

<script type="text/javascript">
$(document).ready(function() {

$(".display").click(function() {

$.ajax({ //create an ajax request to load_page.php
type: "GET",
url: "display.php",
dataType: "html", //expect html to be returned
success: function(response){
$("#responsecontainer").html(response);
setTimeout(response, 5);
//alert(response);
}

});
});
});

我怀疑超时函数无法正常工作,因为获取新行需要更长的时间。我使用 Rand() 的顺序来获取随机行。我的 PHP 看起来像这样:

<?php
include("connect.php");
$finds = "SELECT * FROM citater5 ORDER BY RAND() LIMIT 1";
$result = mysql_query($finds, $con) or trigger_error(mysql_error()." ".$finds);

while($data = mysql_fetch_row($result))
{
echo "<aside class=\"citatout\">";
echo "<div id=\"paradiso\" class=\"text-vertical-center-q\">";
echo utf8_encode("<h1 class=\"animated fadeIn\" align=center>$data[0]</h1>");
echo utf8_encode("<h2 class=\"animated fadeIn\" align=center>$data[1]</h2>");
echo "</div>";
echo "</aside>";
}

?>

为什么每次都没有获取新行?

最佳答案

不太确定 ORDER BY RAND() 是否也按您想要的方式工作。 - 我已经有几年没有真正使用 PHP 了,但我可能会尝试这样的事情:

<?php
include("connect.php");
$totalrows = mysql_num_rows(mysql_query("SELECT * FROM citater5"));
$finds = "SELECT * FROM citater5 WHERE id='".rand(1,$totalrows)."'";
$result = mysql_query($finds, $con) or trigger_error(mysql_error()." ".$finds);

$data = mysql_fetch_row($result);

echo "<aside class=\"citatout\">";
echo "<div id=\"paradiso\" class=\"text-vertical-center-q\">";
echo utf8_encode("<h1 class=\"animated fadeIn\" align=center>$data[0]</h1>");
echo utf8_encode("<h2 class=\"animated fadeIn\" align=center>$data[1]</h2>");
echo "</div>";
echo "</aside>";
?>

而且 - 由于您只得到 1 个结果,因此无需运行 while()。

希望这能有所帮助。

关于php - 单击时从 MySQL 获取随机行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28100299/

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