2015-01-04 10 views
0

Я регистрирую статистику для моего сервера Minecraft и статистику игрового игрока на моем сайте. Я регистрирую убийства и смертельные случаи уже, но теперь я пытаюсь получить нормальный коэффициент убийства/смерти.Коэффициент отображения как десятичный между двумя переменными php

Я пытаюсь показать фраги/смерти в десятичном формате соотношения (Пример: 3789 убивает - 5711 смертей даст вам K/DR из 0,663)

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> 

EDIT: Приведенный выше код PHP представляет собой файл API и MYSQL уже включен в нем - я только разместил фрагмент из API, хотя.

+0

Похоже, вы создаете JSON с этим. Вы должны действительно сделать это с помощью '' json_encode() '] (http://php.net/manual/en/function.json-encode.php), сначала создав массив, затем закодировав его. –

+0

Действительно ли '$ data ['kills']/$ data ['deaths']' не дает вам нужного вам значения? –

+0

Используйте 'number_format()' для отображения желаемого числа десятичных знаков. http://php.net/manual/en/function.number-format.php –

ответ

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 переменные.