У меня есть игра, и онлайн-баллы хранятся на свободном сервере, например www.sitename.subdomain.com/globalscore.txt.
Оценки хранятся в объекте json, который имеет массив json-объектов, каждый из которых содержит имя, дату и оценку игрока. Всегда есть 20 баллов и всегда сортируются.
пример
[{"scor":4290,"data":"17\/05\/14 15:30:58","nume":"MyName"},{"data":"-","scor":"1","nume":"Fainosag"},{"data":"-","scor":"1","nume":"Fainosag"},{"data":"-","scor":"1","nume":"Fainosag"},{"data":"-","scor":"1","nume":"Fainosag"},{"data":"-","scor":"1","nume":"Fainosag"},{"data":"-","scor":"1","nume":"Fainosag"},{"data":"-","scor":"1","nume":"Fainosag"},{"data":"-","scor":"1","nume":"Fainosag"},{"data":"-","scor":"1","nume":"Fainosag"},{"data":"-","scor":"1","nume":"Fainosag"},{"data":"-","scor":"1","nume":"Fainosag"},{"data":"-","scor":"1","nume":"Fainosag"},{"data":"-","scor":"1","nume":"Fainosag"},{"data":"-","scor":"1","nume":"Fainosag"},{"data":"-","scor":"1","nume":"Fainosag"},{"data":"-","scor":"1","nume":"Fainosag"},{"data":"-","scor":"1","nume":"Fainosag"},{"data":"-","scor":"1","nume":"Fainosag"},{"data":"-","scor":"1","nume":"Fainosag"}]
Я хочу сделать страницу, на которой будут отображаться оценки в простой таблице, например
<!DOCTYPE html>
<html>
<body>
<table border="1" style="width:300px">
<tr>
<td>Position</td>
<td>Name</td>
<td>Score</td>
</tr>
<tr>
<td>1</td>
<td>MyName</td>
<td>4290</td>
</tr>
<tr>
<td>2</td>
<td>Fainosag</td>
<td>1</td>
</tr>
</table>
</body>
</html>
Со всеми 20 рядами, конечно. Как я могу это сделать?
<html>
<head>
<script>
$(document).ready(function(){
// Fetch json object from server with AJAX and call updateTable(with json Object)
function updateTable(jsonObj) {
$(jsonObj).each(function(index, element){
$('#scores').append('<tr><td> '+element[0]+' </td> <td> '+element[1]+' </td> <td> '+element[2]+' </td></tr>');
})
}
});
</script>
<head>
<body>
.
.
<table id='scores' border="1">
<tr>
<td>Position</td>
<td>Name</td>
<td>Score</td>
</tr>
<table>
.
.
</body>
</html>
score server
Наверное, что-то вроде этого:
Однако я не смог проверить этот код.
$json = file_get_contents("http://blabla.com/myJson.txt");
$scores = json_decode($json, true);
echo "<table>";
echo "<thead><td>Position</td><td>Name</td><td>Score</td></thead>";
$i = 0;
foreach($scores as $score){
$i++;
echo "<tr><td>$i</td><td>".$score['nume']."</td><td>".$score['scor']."</td></tr>";
}
echo "</table>";
Если вы используете объект json на стороне сервера, используя PHP, тогда:
$content = file_get_content("www.sitename.subdomain.com/globalscore.txt");
$data = json_decode($content);
//loop on $data and print table $rows
foreach($data as $item) {
print '<tr>'. '<td>' .$item->scor.'</td>' .'</tr>';
}