我偶然发现了一个问题,我希望我能在这里得到一些帮助/指针如何克服它。
我有一个外部xml文件,我需要解析并显示在表中。我这样做了
问题是文件每秒都在更新,所以我希望单元格中的数据也可以根据xml文件中的更改进行“实时”更新。
问题是我不知道应该用它来做什么。任何人都可以指出我正确的方向。
<?php
require('simple_html_dom.php');
$html = file_get_html('http://admin:admin@192.168.1.108/status.xml');
foreach($html->find('response') as $row) {
$frontdoorlock = $row->find('led1',0)->plaintext;
$reardoorlock = $row->find('led2',0)->plaintext;
$fronthandle = $row->find('btn0',0)->plaintext;
$frontdoor = $row->find('btn1',0)->plaintext;
$rearhandle = $row->find('btn2',0)->plaintext;
$reardoor = $row->find('btn3',0)->plaintext;
$temperature = $row->find('temp0',0)->plaintext;
$humidity = $row->find('humid0',0)->plaintext;
$currentdate = $row->find('temp2',0)->plaintext;
$lastpowered = $row->find('temp3',0)->plaintext;
}
?>
<div>
<table>
<tr>
<td>
Cabinet Name
</td>
<td >
Front Door Lock
</td>
<td>
Front Handle
</td>
<td>
Front Door
</td>
<td>
Rear Door Lock
</td>
<td>
Rear Handle
</td>
<td>
Rear Door
</td>
<td>
Temperature
</td>
<td>
Humidity
</td>
<td>
Current Date
</td>
<td>
System Last Powered
</td>
</tr>
<tr>
<td>
Cab1
</td>
<td >
<?php if($frontdoorlock == "0") echo "CLOSED";
else echo "OPEN";
?>
</td>
<td>
<?php if($fronthandle == "0") echo "CLOSED";
else echo "OPEN";
?>
</td>
<td>
<?php if($frontdoor == "0") echo "OPEN";
else echo "CLOSED";
?>
</td>
<td>
<?php if($reardoorlock == "0") echo "CLOSED";
else echo "OPEN";
?>
</td>
<td>
<?php if($rearhandle == "0") echo "CLOSED";
else echo "OPEN";
?>
</td>
<td>
<?php if($reardoor == "0") echo "OPEN";
else echo "CLOSED";
?>
</td>
<td>
<?php echo $temperature; ?>
</td>
<td>
<?php echo $humidity; ?>
</td>
<td>
<?php echo $currentdate ?>
</td>
<td>
<?php echo $lastpowered ?>
</td>
</tr>
答案 0 :(得分:0)
您是否考虑过像angularJs这样支持数据绑定的前端框架?数据绑定非常强大,我觉得它将是您问题的完美解决方案。这是一个快速video demonstrating it。
您可以将输出表绑定到表示该数据的变量,该数据根据XML每秒更新一次。
答案 1 :(得分:0)
如果你不想改变页面本身的逻辑......就像用javascript做所有事情一样。你可以简单地把:
<META HTTP-EQUIV="refresh" CONTENT="15">
HTML中的元标记...然后浏览器将每X秒更新一次页面(即CONTENT值)。
这是目前情况下最简单的解决方案。
但我强烈建议用JavaScript做这件事。有很多框架可以帮助你解决困难。
我个人最喜欢的:VueJS