如何从mysql数据库中选择随机行(例如从100中选出10条),并用连续数字显示它们
任何随机行都会被选中并赋予它们
1. XXXXX
2. YYYYY
3. ZZZZZ
但是在数据库中它们不是连续的
答案 0 :(得分:0)
您可以使用PHP rand()
函数。这是它的教程:https://www.w3schools.com/php/func_math_rand.asp
另外,要给他们一个有序列表,请使用<ol>
。
示例
$iWantThisManyRow = 4;
$minNumber = 10;
$maxNumber = 100;
for ($i=0; $i < $iWantThisManyRow; $i++) {
$rand = rand($minNumber, $maxNumber);
$sql = "SELECT * FROM `tables` WHERE `id` = '$rand'";
$result = mysqli_query($link, $sql);
if(mysqli_num_rows($result) > 0) {
$data = mysqli_fetch_assoc($result);
$data = $data['field'];
echo "<ol>$data</ol";
}else{
// Whatever you wanted to do when nothing was founded.
}
}
请注意,您可能要使用预处理语句,并且上面的示例假定$link
是数据库连接,而field
是列名。