深市新股代码:使用 ajax更新股票价格(ajax i stock)

我正在做一个小的个人网络投资组合,以学习网络开发。我有一个我“购买”的所有股票的列表,我想从雅虎金融实时更新价格。

我知道必须有一个更清洁的方式。我试图使用 javascript 更新价格,但我不认为我做的一切都是正确的。

这是我到目前为止。

Portfolio.php 显示我拥有的所有股票

<?php foreach ($shares as $row): ?>
        <tr >
        <td><?php echo $row["symbol"];?></td>
        <td><a xxx="funds.php" id="<?php echo $row["symbol"]?>"><?php echo $row["name"];?></a></td>
        <td style="text-align: right;"><?php echo $row["shares"];?></td>
        <td id="price" style="text-align: right;">$ <?php echo number_format($row["price"],2);?></td>
        <td style="text-align: right;"><?php 
        $change = number_format($row["change"],2);
        echo sprintf( "%+1.2f", $change );
        echo "   ( ";
        echo $row["pct"]; 
        echo "   )";
        ?></td>
        <td style="text-align: right;">$ <?php echo $row["dayGain"];?></td>    
        <td style="text-align: right;">$ <?php echo number_format($row["total"],2);?></td>
        </tr>
<?php endforeach; ?>
</table>    
<script type="text/javascript" src="../html/js/update.js"  ></script>

然后我有 update.php 返回所有的股票信息从雅虎金融作为一个 JSON

<?php
// configuration
require("../includes/config.php"); 
//query user's portfolio
$rows = query("SELECT * FROM shares WHERE id = ?", $_SESSION["id"]);
$cash = query("SELECT cash FROM users WHERE id = ?", $_SESSION["id"]);
    //create array to store the shares
    $shares = array();
    //for each of the user info
   foreach($rows as $row){
        $yql_base_url = "http://query.yahooa.com/v1/public/yql";
        $yql_query = "select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22".$row['symbol']."%22)%0A%09%09";
        $env = "env=http%3A%2F%2Fdatatables.org%2Falltables.env";
        $yql_full_query = $yql_base_url . "?q=" . $yql_query . "&format=json&" . $env;
        $session = curl_init($yql_full_query);
        curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
        $json = curl_exec($session);
        $stock = json_decode($json);
        if($stock->query->results !== false){
            $shares [] = array(
                "symbol" => $stock->query->results->quote->symbol,
                "price" => $stock->query->results->quote->LastTradePriceOnly
            );
        }
    }
   $return = array("price" => $shares ); 
    echo json_encode($return);
?>

和第三个文件是 update.js 中,我试图有 JavaScript

 $(document).ready(function(){
 function stock() {
        $(function() {
            $.getJSON('../update.php',function(result){
            $("div#price2").html(result.price);
        });
    });
        stock();
        setInterval(stock(), 10000);
    });
});

如果我直接去 update.php 我可以将价格视为 json。我认为问题在于 update.js 文件,但我无法弄清楚问题是什么。我甚至无法从 price 字段中的 update.js 打印 Hello。

我试图做的是显示我已经存储在数据库中的股票,然后使用 ajax 和 javascript 更新价格。任何帮助将不胜感激。提前感谢

2

使用 php 的 json 函数加上.getJSON 来更新它...这是一些示例代码:

// pull_stock_price.php
<?php
$return = array("content" => "New Stock Price: $2000");
json_encode($return);
?>
// Jquery to pull stock price once every 10 seconds:
function stock() {
    $(function() {$.getJSON("pull_stock_price.php",function(result){
    $("#StockPrice").html(result.content);
});
});
stock();
setInterval(stock, 10000);
// HTML!
<td><div id="StockPrice"></div></td>

这是什么:每 10 秒用户的浏览器将拉 pull_stock_price.php,并将从 json 和 update 提供的内容。您可以从数据库,curl 或任何地方拉 pull_stock_price.php,并按照您想要的方式格式化数据。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(649)
Result from:无法从reactslick获得所需的结果
上一篇
Ck戒指广告语:谷歌广告语言目标脚本(change google ads language)
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(76条)