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

omk*_*kar -4 php mysql

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

任何人都可以帮我这个吗?

ran*_*gfu 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...
Run Code Online (Sandbox Code Playgroud)

  • 祝你好运,但为什么`mysql_` api?这是在PHP 7中的弃用/删除; 你知道吗? (2认同)