我创建了一个股票投资组合来尝试学习 PHP,并且我试图让价格字段每 30 秒自动更新一次。 我可以显示价格,但它们都显示在同一行的一个价格字段中。我想在每一行上显示它们。我附上了它现在的样子的截图。
我创建了投资组合表并填写了用户拥有的所有股票。这是显示投资组合的代码。
<table class="table">
<tr>
<th>Symbol</th>
<th>Name</th>
<th>Shares</th>
<th>Last Price</th>
<th>Market value</th>
</tr>
<?php foreach ($shares as $row): ?>
<tr >
<td><?php echo $row["symbol"];?></td>
<td><?php echo $row["name"];?></td>
<td><?php echo $row["shares"];?></td>
<td id="price">$<?php echo number_format($row["price"],2);?></td>
<td>$<?php echo number_format($row["total"],2);?></td>
</tr>
<?php endforeach; ?>
<tr>
<td>Portfolio Value</td>
<td></td>
<td></td>
<td></td>
<td>$<?php echo number_format($value, 2);?></td>
</tr>
<tr>
<td>Cash available</td>
<td></td>
<td></td>
<td></td>
<td>$<?php echo number_format($cash[0]["cash"], 2);?></td>
</tr>
</table>
<script type="text/javascript" src="js/update.js" ></script>
然后,我创建了一个名为 update.js 的 javascript 文件,该文件每 30 秒调用一次 update.php 文件以更新价格。这是 update.js 的代码
$(document).ready(function(){
var updater = setTimeout(function(){
$('#price').load('update.php', 'update=true');
},10);
});
update.php 使用用户的股票创建一个 $shares 数组并将其发送到portfolio_update.php 以显示它。这是 update.php 的代码
<?php
require("../includes/functions.php");
require("../includes/config_update.php");
$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){
$stock = lookup($row["symbol"]);
if($stock !== false){
$shares[] = array(
"price" => $stock["price"],
"total" => $row["shares"]*$stock["price"]
);
}
}
$size = count($shares);
$value = 0;
for($i = 0; $i < $size; $i++){
$value += $shares[$i]["total"];
}
extract($shares);
require("../templates/portfolio_update.php");
?>
在portfolio_update.php 中,我正在显示价格,但它们都显示在一个价格字段中。我想在每一行上显示它们。这是portfolio_update.php 代码。
<?php
foreach ($shares as $rows ) {
echo "<tr>";
echo "<td>";
echo number_format($rows["price"],2);
echo "</td>";
echo "</tr>";
}
?>
<script type="text/javascript" src="js/update.js" ></script>
任何帮助表示赞赏。