У меня есть базовая таблица, которая считывает данные из файла 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>






Когда вы получаете данные 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.
надеюсь это поможет.