2015-01-04 73 views
0

我記錄了我的Minecraft服務器的統計數據,並在我的網站上顯示了玩家的遊戲內統計數據。我已經記錄了殺人和死亡,但是現在我正試圖獲得一個正常運轉的死亡/死亡比率。以兩個php變量之間的小數顯示比率

我想顯示擊殺/死亡小數比例格式(例如:3789殺死 - 5711人死亡會給你的0.663一個K/DR)

elseif ($_GET['task'] == 'stats') { 
     $get_player = $_GET['player']; 
     $get_db = 'engine'; 
     $result = mysql_query("SELECT * FROM $get_db WHERE name = '" . mysql_real_escape_string($get_player) . "'", $link); 
      while($data = mysql_fetch_array($result)) { 
       echo '{"task":"viewstats","kills":"'; echo $data['kills']; 
           echo '","deaths":"'; echo $data['deaths']; 
           echo '","joins":"'; echo $data['joins']; 
           echo '","quits":"'; echo $data['quits']; 
           echo '","kicked":"'; echo $data['kicked']; 
       echo '"}'; 
      } 
    } 

我在一個表中呼籲他們像這樣:

<td><?php echo empty($stats) ? "--" : substr($stats->kills, 0, 50); ?></td> 
     <td><?php echo empty($stats) ? "--" : substr($stats->deaths, 0, 50); ?></td> 

編輯:上面的PHP代碼是一個API文件和MySQL是在它已經啓用了 - 我只貼了API的一個片段,但。

+0

看起來你正在用這個形成JSON。你應該通過首先構造一個數組然後對其進行編碼來實現['json_encode()'](http://php.net/manual/en/function.json-encode.php)。 – 2015-01-04 13:29:10

+0

'$ data ['kill']/$ data ['deaths']'不會給你你需要的值嗎? – 2015-01-04 13:30:20

+0

使用'number_format()'顯示所需的小數位數。 http://php.net/manual/en/function.number-format.php – 2015-01-04 13:31:19

回答

1

你可以這樣做:

echo json_encode(array(
    'task' => 'viewstats', 
    'kills' => $data['kills'], 
    'deaths' => $data['deaths'], 
    'joins'=> $data['joins'], 
    'quits' => $data['quits'], 
    'kicked' => $data['kicked'], 

    // then ratio 
    'ratio' => $data['kills']/$data['deaths'], 
)); 
0
//**Make sure this Function is declared at the top of your script.** 
function MySQLi_quickConnect() 
{ 
    $host  = 'somewebsite.db.120327161.hostedresource.com'; //or 'http://localhost' 
    $username = '<YOUR USERNAME>'; 
    $password = '<YOUR PASSWORD>'; 
    $database = '<YOUR DATABASES NAME>'; 

    $db = new MySQLi($host,$username,$password,$database); 
    $error_message = $db->connect_error; 
    if($error_message != NULL){die("Error:" . $error_message . "<br>" . "Occured in function 
             MySQLi_quickConnect");} 
    return $db; 
} 

//Replace your code with this: 

elseif($_GET['task'] == 'stats') { 
$get_player = $_GET['player']; 
$get_db = 'engine'; 

$mysqli = MySQLi_quickConnect(); 
$query = ('SELECT kills, deaths, FROM ? WHERE name = ? '); 
if ($stmt = $mysqli->prepare($query)) { 
    $stmt->bind_param("ss", $get_db, $get_player); 
    $stmt->execute(); 
    $stmt->bind_result($kills, $deaths); 
} 
while ($stmt->fetch()) { 
    $kdr = $kills/$deaths; 
    echo "You have a K/DR of " . $kdr . "<br>"; 
} 

$stmt->close(); 
} 

注:驗證您的數據庫連接,表名和$ _Get變量。