当前位置: 首页 > 面试题库 >

每x秒自动刷新一个HTML表格

乐寒
2023-03-14
问题内容

我试图刷新一个表,因为其中的变量不断更新,我想每隔几秒钟重新更新一次。我已经通过为表指定一个ID并为其创建一个div来完成代码。该代码将解释我的实际情况。提前致谢
编辑:添加了变量表和变量刷新器。 但是代码仍然不会重新加载我的表!有什么想法吗??

Test.php

       <html>
<head>
    <script type='text/javascript'>
 var table = $('#tableID');

// refresh every 5 seconds
var refresher = setInterval(function() {
  table.load("1103242B/processing/js.php");
}, 5000);

setTimeout(function() {
  clearTimeout(refresher);
}, 1800000);
</script>
</head>
<body>
<?php include_once'js.php'; ?>

</body>
</html>

JS.php

<?php
require_once 'connect.php';
include 'start.php';
include 'functions.php';
header("Cache-Control: no-cache,no-store");

$query = "SELECT * FROM opentrades"; //You don't need a ; like you do in SQL
$result = mysql_query($query);
echo "<table border = '1px' id='tableID'>"; // start a table tag in the HTML
echo "<tr><td>" . "Order Number" . "</td><td>" . "Selection" . "</td><td>" . "Date" . "</td><td>" . "Type" . "</td><td>" . "Size" . "</td><td>" . "Bid Price" . "</td><td>" . "Offer Price" . "</td><td>" ."Stop Loss" . "</td><td>" . "Take Profit" . "</td><td>" ."Profit/Loss(USD)"."</td><td>" ."Close"."</td></tr>" ;  //$row['index'] the index here is a field name

while($row = mysql_fetch_assoc($result)){   //Creates a loop to loop through results
if ($row['selection']=='eur/usd')// TO RETRIEVE BID AND OFFER FOR EACH ROW
      {
      $bidpricepl=$bid;

      $offerpricepl=$bid1;

      }
  elseif ($row['selection']=='usd/jpy')
      {
      $bidpricepl=$bid2;

      $offerpricepl=$bid3;

      }
  elseif ($row['selection']=='usd/cad')
      {
      $bidpricepl=$bid4;

      $offerpricepl=$bid5;

      }
  elseif ($row['selection']=='eur/jpy')
      {
      $bidpricepl=$bid6;

      $offerpricepl=$bid7;

      }
  elseif ($row['selection']=='eur/chf')
      {
      $bidpricepl=$bid8;

      $offerpricepl=$bid9;

      }
  elseif ($row['selection']=='gbp/usd')
      {
      $bidpricepl=$bid10;

      $offerpricepl=$bid11;

      }
  elseif ($row['selection']=='aud/usd')
      {
      $bidpricepl=$bid12;

      $offerpricepl=$bid13;

      }
  elseif ($row['selection']=='usd/chf')
      {
      $bidpricepl=$bid14;

      $offerpricepl=$bid15;

      }
  if ($row['type']=="buy")
    {

      $minipipskiller='10';
      $offeropen=$row['offerprice'];
      $pips=$offerpricepl-$offeropen;
      $closedb=$offeropen;
      $pips1=round($pips, 6);
      $pips2 = str_replace('.', '', $pips1);
        if ($pips2<0)
      {
        $pips2 = str_replace('-', '', $pips2);
        $pips2 = ltrim($pips2, '0');
        $pips2 = -1 * abs($pips2);
      }
      else {
        $pips2 = ltrim($pips2, '0');
      }
      $pips3=$pips2/$minipipskiller;
    }// PIP COUNTING
  elseif ($row['type']=="sell")//FOR PIP COUNTING
    {

      $minipipskiller='10';
      $bidopen=$row['bidprice'];
      $pips=$bidopen-$bidpricepl;
      $closedb=$bidopen;
      $pips1=round($pips, 6);
      $pips2 = str_replace('.', '', $pips1);
      if ($pips2<0)
      {
        $pips2 = str_replace('-', '', $pips2);
        $pips2 = ltrim($pips2, '0');
        $pips2 = -1 * abs($pips2);
      }
      else {
        $pips2 = ltrim($pips2, '0');
      }
      $pips3=$pips2/$minipipskiller;
    }



      $ticksize= "0.0001";// FOR PROFIT AND LOSS
      $lot1 = "100000";
      $sizecalc=$row['size'] * $lot1;

        if ($row['type']=="buy")
      { 
        $profitandloss=$sizecalc*$ticksize*$pips3; //per TRADE
      }
      if ($row['type']=="sell")
      {
        $profitandloss=$sizecalc*$ticksize*$pips3; //per TRADE
      }

      $zero= '0';

      if($profitandloss<$zero) {
            $profitText = "<div style=\"color: red;\">$profitandloss</div>";
        } elseif ($profitandloss>$zero) {
            $profitText = "<div style=\"color: green;\">$profitandloss</div>";
        }


$sum+= $profitandloss;


    echo "<tr><td>" . $row['trade_id'] .         
        "</td><td>" . $row['selection'] . 
        "</td><td>" . $row['date'] .
        "</td><td>" . $row['type'] .
        "</td><td>" . $row['size'] .
        "</td><td>" . $row['bidprice'] .
        "</td><td>" . $row['offerprice'] .
        "</td><td>" . $row['stoploss'] .
        "</td><td>" . $row['takeprofit'] .
        "</td><td>" . $profitText . 
        "</td><td><a href ='delete.php?id=".
        $row['trade_id']."'>X</a>
       </td></tr>";  
$profitandloss=0;

if($sum<$zero) {
    $sumText = "<div style=\"color: red;\">$sum</div>";
} elseif ($sum>$zero) {
    $sumText = "<div style=\"color: green;\">$sum</div>";
}
}

echo "</table><br>";



?>

问题答案:

我想setIntervaljQuery.load就是你要找的人

var table = $("#tableID");

// refresh every 5 seconds
var refresher = setInterval(function() {
  table.load("/path/to/js.php");
}, 5000);

或缩短

var refresher = setInterval(table.load.bind(table, "/path/to/data"), 5000);

如果您想停止刷新数据,例如,说用户长时间使页面处于打开状态

// stop refreshing after 30 minutes
setTimeout(function() {
  clearTimeout(refresher);
}, 1800000);

如果数据加载需要一段时间,则您可能只想在数据加载
X秒钟刷新一次。你可以这样使用setTimeout

var table = $("#tableID");

var refresh = function() {
  table.load("/path/to/js.php", function() {
    setTimeout(refresh, 5000);
  });
};

refresh();


 类似资料:
  • 问题内容: 我有一个C#Windows窗体,其中包含几个文本框和按钮。它还具有显示sql表的datagrid视图。我创建了一个刷新按钮,使我可以刷新表,以便可以看到表中的更新项。我想知道有没有办法自行刷新表。就像每10秒一次,或者代替表格,也许每10秒就会自动加载或刷新整个表格吗? 问题答案: 使用Timer控件,它调用了UI线程,并且可以通过表单设计器使用该控件。

  • 问题内容: 我从修改了自己需求的网站上获得了此代码: 在test.php中: 所以我想在链接div中每5秒调用一次test.php。我该怎么做呢? 问题答案: 试试看 希望这可以帮助。

  • 免责声明:android编程新手。

  • 问题内容: 我正在开发Django应用。我有一个API端点,如果需要,它必须执行必须重复几次的功能(直到满足特定条件为止)。我现在如何处理- 虽然我知道这是一种可怕的方法,并且我不应该阻塞2秒钟,但是我不知道该如何解决。 等待4秒后,此方法起作用。但是我想要使循环在后台运行并在some_fn返回True时停止的东西。(此外,可以肯定some_fn将返回True) 编辑- 阅读Oz123的响应给了我

  • 问题内容: 我有一个简单的Java程序,该程序读取一个文本文件,将其分隔为“”(空格),显示第一个单词,等待2秒,显示下一个…等等…我想在Spring或其他一些GUI。 关于如何使用spring轻松更新单词的任何建议?遍历我的列表并以某种方式使用setText(); 我没有运气。我正在使用此方法在consol中打印我的单词,并向其中添加JFrame …在consol中效果很好,但是却发出了无尽的j

  • 问题内容: 我正在尝试使用Javascript提交表单的数据。这是html。 这是该函数的Javascript 。 我的问题是Javascript可以运行,但是表单仍在处理并刷新页面。 我把代码放在希望它可以阻止窗体刷新。 问题答案: 您将必须在onsubmit处理程序的post()函数之后放置return false部分,如下所示: