如何更新实时数据?

时间:2016-03-10 13:07:26

标签: php ajax

我正在试图弄清楚如何更新我的实时数据,我在Google上发现了一些关于Ajax的例子,但我似乎无法让它们发挥作用。

包含并将实时数据放入段落的部分是:

$file = "Data.txt";
$data = file($file);
$line = $data[count($data)-1];

for($i=1;$i<6;$i++){
    switch ($line) {
    case $i:
    echo "<p class ='bus".$i."'> <img id='bus' src = 'bus.png'> </p>";
    break;
    }
}

这是完整的html文件

<!DOCTYPE>
<html>
     <head>
        <title>Bus</title>  
        <link rel="stylesheet" href="stijlenbestand.css">
    </head>
    <body>  
        <?php
            //aanmaken 5 bushaltes
            echo '<figure>';    
            for($i=1;$i<6;$i++){
                echo "<img src = 'bushalte.png'>";
            }   
            echo '</figure>';

            //laatste lijn van tekstbestand.
            $file = "Data.txt";
            $data = file($file);
            $line = $data[count($data)-1];

            for($i=1;$i<6;$i++){
                switch ($line) {
                case $i:
                echo "<p class ='bus".$i."'> <img id='bus' src = 'bus.png'> </p>";
                break;
                }
            }           
        ?>          
    </body>
</html>

3 个答案:

答案 0 :(得分:0)

您的代码中没有任何地方您有Ajax调用 - 那么您的尝试在哪里?

您还希望在页面中刷新什么内容?

答案 1 :(得分:0)

对于实时更新,您需要两个部分。

首先是您的页面所在的部分,第二部分是您的数据来源。

Php是一种非常静态的语言。脚本完成后,它将不再执行任何操作。

对于“直播网站”,您需要使用Javascript。

如果你想使用jQuery,我建议你使用jQuery.post()函数。

您网站中的jQuery代码:

$.post( "test.php", { name: "John", time: "2pm" })
  .done(function( data ) {
    alert( "Data Loaded: " + data );
  });

您的test.php

if(isset($_POST['name'])) {
  //Do Some Stuff
  $a = 'var a';

  echo json_encode($a);
}

答案 2 :(得分:0)

这不是ajax。 Ajax意味着使用前端代码在后台获取新信息。然后将此信息附加到DOM。 (通常,信息会被转换为JSON编码数据,但是请将其保留在范围之外。)

为此你需要两个文件:

  • 前端文件(例如带有一些内容的静态index.html)
  • 提供数据的后端文件

    1. 前端文件会运行一些JavaScript然后请求后端文件
    2. 后端文件响应并返回一些输出
    3. javascript将输出添加到DOM。

有很多方法可以做到这一点,我没有时间在这里解释所有这些,但你可能想看看:http://www.w3schools.com/jquery/jquery_ajax_intro.asp

这提供了一个基于jQuery的简单示例。