如何在不重复数字的情况下回显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)代替
标签:php,mysql,random
来源: https://codeday.me/bug/20190614/1237481.html