自动从json文件填充表格

时间:2019-03-22 17:03:35

标签: php json html5

我有一个基本表,该表从json文件中读取数据以填充行。此填充由第3方应用程序更新,因此我需要自动添加新行,而无需查看者刷新页面。通常,我正在寻找有关如何完成此操作的教程或类似内容。预先感谢您的任何建议!

$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 :(得分:0)

在获取JSON数据(特别是字符串)时,可以使用PHP函数json_decode($raw_json_string),该函数将返回关联数组(如果是js对象)或仅返回常规数组(js数组)

如果您想获取javascript的JSON数据,则可以使用php函数

json_encode($array);,它将返回准备在Javascript中用作对象变量的字符串。

因此,如果您想在PHP中使用JSON对象。...

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表行。

希望这会有所帮助。