[英]Php mysql while loop fetching rows
我想從數據庫中獲取“ Experience
行,這將根據玩家的體驗來升級玩家,即,該級別等於體驗÷100。
例如,如果玩家的經驗是100,則他的等級為1。如果玩家的經驗是200,則他的等級為2。
這是我的代碼:
<?php
$con = mysqli_connect("localhost", "username", "password", "DB");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con, "SELECT * FROM playerdata ORDER BY Bank DESC LIMIT 9999");
while($row = mysqli_fetch_array($result)) {
$row['Unique_ID']; // ?
echo "<br>";
$xp = $row['Experience'];
if ($xp == '1') {
echo 'You\'re level one';
}
if ($xp == '2') {
echo 'You\'re level 2';
}
}
mysqli_close($con);
?>
我還不知道如何使用while循環來處理while語句。
如何計算所有用戶的級別?
如果您想根據經驗來計算等級,那么類似的問題可能是您的問題的答案:
<?php
// This simulates your database.
$players = [
['Unique_ID' => 1, 'Experience' => '100'],
['Unique_ID' => 2, 'Experience' => '150'],
['Unique_ID' => 3, 'Experience' => '200'],
['Unique_ID' => 4, 'Experience' => '299'],
['Unique_ID' => 5, 'Experience' => '320'],
];
foreach ($players as $player) {
// Basically, you want to get the level by dividing the experience by 100,
// then rounding it down with the function floor(). No need for another loop.
$level = floor($player['Experience'] / 100);
echo 'Player #', $player['Unique_ID'], ' is level ', $level, "\n";
}
輸出:
玩家#1是1級
玩家#2是1級
玩家#3是2級
玩家#4是2級
玩家#5是3級
現在,如果您想為所有用戶更新級別,那么我建議以下之一:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.