0

嗨,我正在尝试从我的表中输出所有行和信息:

id,Symbol,entry,, exitopenclosed,entrydate,longshort,target_one,target_two,target_three,notes

这是通过我正在处理的这个脚本来获得这个功能的。现在我只输出一个数据库条目。这个条目当然是最后一个。作为参考,最后一个条目符号是 GLD。我希望它继续使用下一个符号,但似乎无法输出。quote_0,quote_1 等的输出数据。来自雅虎作为一个数组。

<?php
error_reporting(E_ALL ^ E_NOTICE);
ini_set("display_errors", 1);
//begin
    include "storescripts/connect_to_mysql.php"; 
    $sql = mysql_query("SELECT * FROM stockpicks ORDER BY id LIMIT 100");
    $productCount = mysql_num_rows($sql); // count the output amount
    if ($productCount > 0) {
        // get all the product details
        while($row = mysql_fetch_array($sql)){ 
            $id = $row["id"];
            $symbol = $row["symbol"];
         }
    }
    mysql_close();
    //end
        if(empty($symbol)) {
            echo nothing;
        }
            else {
                $open = fopen("http://quote.yahoo.com/d/quotes.csv?s=$symbol&f=sl1d1t1c1ohgv&e=.csv", "r");
                $quote = fread($open, 1000);

                fclose($open);

                $quote = str_replace("\"", "", $quote);
                $quote = explode(",", $quote);

                $quote_0 = ($quote[0]);
                $quote_1 = ($quote[1]);
                $quote_2 = ($quote[2]);
                $quote_3 = ($quote[3]);
                $quote_4 = ($quote[4]);
                $quote_5 = ($quote[5]);
                $quote_6 = ($quote[6]);
                $quote_7 = ($quote[7]);
                $quote_8 = ($quote[8]);

                echo "<div class='symbol'><div class='quote'>Company: $quote_0</div></div>";
                echo "<div class='leftofStocks'><div class='row'><div class='quote'>Last trade: $$quote_1</div>";
                echo "<div class='quote'>Date: $quote_2</div>";
                echo "<div class='quote'>Time: $quote_3</div>";
                echo "<div class='quote'>From Previous: $$quote_4</div></div>";
                echo "<div class='row'><div class='quote'>Open: $$quote_5</div>";
                echo "<div class='quote'>High: $$quote_6</div>";
                echo "<div class='quote'>Low: $$quote_7</div>";
                echo "<div class='quote'>Volume: $quote_8</div></div>";
}
?>          
4

2 回答 2

2

您必须将更多输出添加到 while 循环中才能访问表中的每个值。

<?php
error_reporting(E_ALL ^ E_NOTICE);
ini_set("display_errors", 1);
//begin
    include "storescripts/connect_to_mysql.php"; 
    $sql = mysql_query("SELECT * FROM stockpicks ORDER BY id LIMIT 100");
    $productCount = mysql_num_rows($sql); // count the output amount
    if ($productCount > 0) {
        // get all the product details
        while($row = mysql_fetch_array($sql)){ 
            $id = $row["id"];
            $symbol = $row["symbol"];
            if(empty($symbol)) {
                echo nothing;
            }
                else {
                    $open = fopen("http://quote.yahoo.com/d/quotes.csv?s=$symbol&f=sl1d1t1c1ohgv&e=.csv", "r");
                    $quote = fread($open, 1000);

                    fclose($open);

                    $quote = str_replace("\"", "", $quote);
                    $quote = explode(",", $quote);

                    $quote_0 = ($quote[0]);
                    $quote_1 = ($quote[1]);
                    $quote_2 = ($quote[2]);
                    $quote_3 = ($quote[3]);
                    $quote_4 = ($quote[4]);
                    $quote_5 = ($quote[5]);
                    $quote_6 = ($quote[6]);
                    $quote_7 = ($quote[7]);
                    $quote_8 = ($quote[8]);

                    echo "<div class='symbol'><div class='quote'>Company: $quote_0</div></div>";
                    echo "<div class='leftofStocks'><div class='row'><div class='quote'>Last trade: $$quote_1</div>";
                    echo "<div class='quote'>Date: $quote_2</div>";
                    echo "<div class='quote'>Time: $quote_3</div>";
                    echo "<div class='quote'>From Previous: $$quote_4</div></div>";
                    echo "<div class='row'><div class='quote'>Open: $$quote_5</div>";
                    echo "<div class='quote'>High: $$quote_6</div>";
                    echo "<div class='quote'>Low: $$quote_7</div>";
                    echo "<div class='quote'>Volume: $quote_8</div></div>";
            }
         }
    }
    mysql_close();
    //end

?> 
于 2013-07-08T17:25:24.607 回答
0
  1. 您应该开始使用 msqli 函数而不是 mysql sinc eit 已弃用。
  2. 如果您的代码中的其他所有内容都是正确的,那么您需要做的唯一更改就是在 while 子句中。

    while ($row = mysql_fetch_assoc($sql)){
    $id[]=$row['id'];
    $symbol[] =$row['symbol'];
    }

于 2013-07-08T17:27:34.057 回答