嗨即時嘗試從數據庫中獲得5個隨機行,然後顯示它們。我目前這樣做,但它確實導致重複。php mysql random rows no duplicates
我需要將限制更改爲5,然後將它們存儲在一個數組中,但我該怎麼做?或者,還有更好的方法?
function GetPlayer($link){
if (isset($_SESSION['username'])) {
$x = 0;
while($x <= 5) {
$sql = "SELECT * FROM userstats ORDER BY RAND() LIMIT 1; ";
$result = mysqli_query($link,$sql);
$row = mysqli_fetch_assoc($result);
if($row['username'] !== $_SESSION['username']){//add so it dosent put duplicates
echo ("<tr>");
echo ("<th>".$row['username']." </th>");
echo ("<th>Level: ".$row['Level']." </th>");
echo ("<th>Player Stats:".$row['Attack']."/".$row['Defence']." </th>");
echo ("<th>Win Chance: ");
echo CalculateWinChance($link,$row['Defence']);
echo ("<th><input type ='submit' name = 'Attack_Btn' value ='Attack'></th>");
echo ("</tr>");
$x++;
}
}
}
}
使用DISTINCT和/或GROUP BY 。 –
'ORDER BY RAND()LIMIT 5;'是最好的方式 – CatalinB
我可以問另一個問題,而我在這裏。我如何使提交按鈕對每一行都是唯一的?所以我可以用它來傳遞變量 – GregHBushnell