我想以随机方式使用php显示mysql的输出。默认情况下,整个数组将按顺序显示。
echo "<table border='1'>
</tr>
<tr>
<th>User ID</th>
<th>User </th>
<th>Site </th>
<th>IP Address</th>
<th>Date</th>
</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['userID'] . "</td>";
echo "<td>" . $row['user_name'] . "</td>";
echo "<td>" . $row['site_name'] . "</td>";
echo "<td>" . $row['ip_address'] . "</td>";
echo "<td>" . $row['date'] . "</td>";
echo "</tr>";
}
echo "</table>";
我希望输出在每次访问时随机显示。
即。 row1显示在输出顶部的第一次访问时。 row10显示在输出顶部的第二个访问位置上。 row13显示在输出顶部的第3个访问位置上。
感谢您的建议和帮助。
答案 0 :(得分:2)
您可以将mysql rand()
用于此目的:
例如:
SELECT * FROM myTable ORDER BY RAND();
答案 1 :(得分:1)
您可以在SQL查询中使用ORDER BY RAND()
SELECT * FROM `table_name` ORDER BY RAND()
你也可以使用shuffle($my_array);
您也可以使用
function shuffle_assoc($list) {
if (!is_array($list)) return $list;
$keys = array_keys($list);
shuffle($keys);
$random = array();
foreach ($keys as $key) {
$random[$key] = $list[$key];
}
return $random;
}