Автозаполнение таблицы из файла JSON - PullRequest
0 голосов
/ 22 марта 2019

У меня есть базовая таблица, которая считывает данные из файла json для заполнения строк. Эта заливка обновляется сторонним приложением, и мне нужно было бы добавлять новые строки автоматически, без необходимости обновлять страницу для просмотра.В основном я ищу учебники или некоторые другие о том, как это сделать.Заранее спасибо за любой совет!

$strJsonFileContents = file_get_contents("./includes/dispatch.json");
$mdt = json_decode($strJsonFileContents, true);
?>
<div id="callboard">
    <div align="center">
            Call ID: <input type="text" id="AlertId" class="mdt" size="10" readonly  />
            Type: <input type="text" id="AlertType" class="mdt" size="10" readonly  />
            Location: <input type="text" id="AlertLocation" class="mdt" size="25" readonly  />
            Status: <input type="text" id="AlertStatus" class="mdt" size="10" readonly  />
            Units: <input type="text" id="AlertUnits" class="mdt" size="20" readonly  /><hr><span id='ct' ></span><hr>
    </div>
<hr>
    <h3>Active Calls</h3>
    <table id="mdt-table">
    <tr onclick="javascript:showRow(this);">
    <th>Call ID</th>
    <th>Type</th>
    <th>Caller</th>
    <th>Location</th>
    <th>Details</th>
    <th>Status</th>
    <th colspan="2">Units</th>
    <th>Other Info</th></tr>
    <?php
    $arrlength = count($mdt);
    for ($x = 0; $x < $arrlength; $x++)
            {
            if ($mdt[$x][AlertType]=='10-13')
                    {
                    echo "<tr class=\"blinking\" onclick=\"javascript:showRow(this);\">";
                    }
            else { echo "<tr onclick=\"javascript:showRow(this);\">";
                    }
            echo "<td name=\"AlertId\">". $mdt[$x][AlertID]; echo "</td>";
            echo "<td name=\"AlertType\">". $mdt[$x][AlertType]; echo "</td>";
            echo "<td name=\"AlertCaller\">". $mdt[$x][AlertCaller]; echo "</td>";
            echo "<td name=\"AlertLocation\">". $mdt[$x][AlertLocation]; echo "</td>";
            echo "<td name=\"AlertMessage\">". $mdt[$x][AlertMessage]; echo "</td>";
            echo "<td name=\"AlertStatus\">". $mdt[$x][AlertStatus]; echo "</td>";
            echo "<td name=\"AlertUnits\" colspan=\"2\">". $mdt[$x][AlertUnits]; echo "</td>";
            echo "<td name=\"AlertOther\">". $mdt[$x][AlertOther]; echo "</td>";
            echo "</tr>";
            }
?>
    </table>

1 Ответ

0 голосов
/ 28 марта 2019

Когда вы получаете данные JSON, в частности строку, вы можете использовать функцию PHP json_decode($raw_json_string), которая будет возвращать ассоциативный массив (если объект js) или просто обычный массив (массив js)

если вы хотите получить данные JSON для javascript, вы можете использовать функцию php

json_encode($array);, который вернет готовую строку в Javascript в качестве переменной объекта.

так что если вы хотите использовать объект JSON в PHP ....

PHP:

`

$raw_json_string = {data: 2, data2:"hello world", data3:[1,2,3,4],};
$array = json_decode($raw_json_string);

$array['data'] == 2; // true

$array['data2'] == "hello world"; // true 

$array['data3'] == [1,2,3,4]; // true`

тогда вы можете использовать этот массив и перебрать его для создания строк таблицы HTML.

надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...