使用ajax更新股票价格

I am doing a small personal web portfolio in order to learn web development. I have a list of all the stocks that I have "bought" and I would like to update the price in real-time from yahoo finance. I can already do the price update but I override the table that I display the stocks with a new one that is called using javascript.

I know there must be a cleaner way. I am trying to update the price using javascript but I don't think I am doing everything right.

Here is what I have so far.

Portfolio.php displays all the stocks I have

<?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>

Then I have update.php which returns all the stock information from yahoo finance as a 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);

?>

And the third file is update.js in which I am trying to have javascript

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

        });
    });
        stock();
        setInterval(stock(), 10000);

    });
});

If I go directly to update.php I can view the prices as json. I think the problem lies with the update.js file but I cannot figure out what the problem is. I cannot even print Hello from update.js in the price field.

What I am trying to do is display the stocks that I have stored in the database and then update the price using ajax and javascript. Any help would be appreciated. Thanks in advance.

Use php's json functions coupled with a .getJSON to update it... Here's some example code:

// 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>

What this does: Every 10 seconds the user's browser will pull pull_stock_price.php and will take the content provided from the json and update . You can have pull_stock_price.php pull from the database, curl or really anywhere and format the data how you want it.