gpt4 book ai didi

php - 使用ajax更新股票价格

转载 作者:行者123 更新时间:2023-12-02 18:49:25 24 4
gpt4 key购买 nike

我正在制作一个小型的个人网络作品集,以学习网络开发。我有一个我“购买”的所有股票的 list ,我想从雅虎财经实时更新价格。我已经可以进行价格更新,但我用使用 javascript 调用的新表格覆盖了显示股票的表格。

我知道必须有一种更干净的方法。我正在尝试使用 JavaScript 更新价格,但我认为我做的一切都没有正确。

这是我到目前为止所拥有的。

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

<?php foreach ($shares as $row): ?>

<tr >
<td><?php echo $row["symbol"];?></td>
<td><a href="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.yahooapis.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 文件上,但我无法弄清楚问题出在哪里。我什至无法在价格字段中从 update.js 打印 Hello。

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

最佳答案

使用 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 中提供的内容并更新。您可以从数据库、curl 或任何地方提取 pull_stock_price.php,并按照您想要的方式格式化数据。

关于php - 使用ajax更新股票价格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15979823/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com