随机行值显示在没有重复值的随机位置mysql,php

时间:2018-01-18 15:09:04

标签: php mysql

在mysql表中我有30行。想要在同一页面的3个不同位置显示1个随机行数据而不重复该行。

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:5)

这样的事情怎么样?每个array_pop()都会从数组中删除一个值,因此你永远不会得到两次相同的值。

// Get your data into an array (since there's only 30 rows):
$result = mysqli_query($connection, "SELECT * FROM table LIMIT 3;");
$rows = array();
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
  $rows[] = $row;
}

// Randomise the array:
shuffle($rows);

// Get first random value:
$row = array_pop($rows);
print ($row['value']);

// Get second random value:
$row = array_pop($rows);
print ($row['value']);

// etc...