php – 从mysql数据库中回显随机id号而不重复数字?

如何在不重复数字的情况下回显 mysql数据库中的随机id号码?

这是我的示例代码:

$query = mysql_query("SELECT * FROM store"); 
$number=mysql_num_rows($query); 

for ($count=1; $count<= $number ; $count++)
{

  $id = mysql_query ("SELECT id FROM store ORDER BY RAND() LIMIT $number");
  $id = mysql_fetch_assoc($id);
  $id = $id['id'];

  echo $id;

}

它将回显六个随机数,但是具有“1 1 3 2 4 5”的实例,其中1被回显两次而不是一次.提前致谢

问题是,您在循环内部执行SELECT,而不是选择一次并循环结果.

$query = mysql_query("SELECT * FROM store"); 
$number=mysql_num_rows($query); 

$result = mysql_query ("SELECT id FROM store ORDER BY RAND() LIMIT $number");
while ($row = mysql_fetch_assoc($result)) {
    echo $row["id"];
}

BTW:SELECT *来获取记录集的数量很难看,使用SELECT count(id)代替

相关文章
相关标签/搜索