php - 选择随机值 MYSQL 但不是当前值

标签 php mysql random

我有以下代码可以从数据库中提取随机值。

$result = mysqli_query($con,"SELECT column1 FROM table1
ORDER BY RAND()
LIMIT 1");

while($row = mysqli_fetch_array($result))
{
 echo $row['column1'];
 echo "<br>";
}

目前我总共只有大约 10 个值。有时它们在刷新时连续出现不止一次。

是否可以修改查询以显示不是当前值的随机值?

最佳答案

为了做到这一点,您需要以某种方式记住最后一行。 然后做这样的事情

$result = mysqli_query($con,"SELECT column1 FROM table1
where id_of_your_row != ".mysqli_real_escape_string($id_of_your_last_row)."
ORDER BY RAND()
LIMIT 1");

为了记住最后一行,您可以使用 session 。

您的整个代码可能如下所示。

// session 需要开始

$result = mysqli_query($con,"SELECT column1 FROM table1
where column1 != ".(isset($_SESSION["lastid"]) ? mysqli_real_escape_string($_SESSION["lastid"]) : '')." ORDER BY RAND()
LIMIT 1");

while($row = mysqli_fetch_array($result))
{
 echo $row['column1'];
 $_SESSION["lastid"] = $row['column1'];
 echo "<br>";
}

关于php - 选择随机值 MYSQL 但不是当前值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17076563/

相关文章:

php - pear 数据库错误 : extension not found

php - 在提交时使用 jquery .post 将 javascript 数组传递到服务器,然后在 PHP 中打印数组?

Glassfish 中的 MySQL 连接池无法正常工作

C# 从列表中选择随机元素

javascript - 我的密码生成功能效率低下吗?

c - 如何使用范围 [-a,a] 中的 libsodium 在 C 中生成均匀分布的随机 double ?

php - 如何在购物车价格规则中添加自定义标签

php - 在 Laravel 中获取服务提供者内部的当前路线

mysql - 从mysql中具有多个单词的字段中提取电子邮件ID

具有即插即用数据库的 Java 应用程序