こんにちは私はデータベースから5つのランダムな行を取得しようとし、それらを表示しています。私は現在これをしていますが、結果は重複しています。php mysqlのランダムな行が重複しない
制限を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++;
}
}
}
}
使用。 –
'ORDER BY RAND()LIMIT 5;'が最良の方法です。 – CatalinB
私はここで別の質問をすることができます。送信ボタンを各行ごとに一意にするにはどうすればよいですか?だから私は変数を渡すためにそれを使用することができます – GregHBushnell