PHP - Создание таблицы из JSON легко.

0

У меня есть игра, и онлайн-баллы хранятся на свободном сервере, например 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>

Изображение 174551 Со всеми 20 рядами, конечно. Как я могу это сделать?

  • 3
    Где вы застряли / Где ваши попытки решить эту проблему?
  • 0
    Требование PHP?
Показать ещё 5 комментариев
Теги:

3 ответа

1
<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>
  • 0
    @Paul, используя этот метод, вам не нужно будет каждый раз вызывать ваш сервер, вы можете напрямую изменять таблицу со стороны клиента, с помощью одного вызова для score server
1

Наверное, что-то вроде этого:

Однако я не смог проверить этот код.

$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>";
  • 0
    Но если у меня есть файл json на другом ftp, как я могу дать $ json его значение? как www.xxx.xxxx.com/text.txt
  • 0
    Отредактировал мой ответ, чтобы получить файл с другого сервера.
Показать ещё 2 комментария
1

Если вы используете объект 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>';
    }
  • 0
    Но где я должен поставить свою ссылку на файл сервера?
  • 0
    Я отредактировал фрагмент см. File_get_contents
Показать ещё 8 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню