Php 使用数组抓取所有MYSQL行

Php 使用数组抓取所有MYSQL行,php,mysql,arrays,Php,Mysql,Arrays,您好,我正在尝试输出表中的所有行和信息: id、符号、条目、exit、openclosed、entrydate、longshort、target\u一、target\u二、target\u三、备注 这是通过这个脚本,我正在努力获得这个功能。现在我只输出一个数据库条目。这当然是最后一条了。作为参考,最后一个条目符号为GLD。我希望它继续使用下一个符号,但似乎无法将其输出。quote_0、quote_1等的输出数据。作为一个数组来自雅虎 <?php error_reporting(E_ALL

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

id、符号、条目、
exit
、openclosed、entrydate、longshort、target\u一、target\u二、target\u三、备注

这是通过这个脚本,我正在努力获得这个功能。现在我只输出一个数据库条目。这当然是最后一条了。作为参考,最后一个条目符号为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>";
}
?>          

您必须将更多输出输入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

?> 

  • 您应该开始使用msqli函数,而不是mysql,因为不推荐使用eit
  • 如果代码中的其他所有内容都正确,那么只需在while子句中进行更改

    而($row=mysql\u fetch\u assoc($sql)){
    $id[]=$row['id'];
    $symbol[]=$row['symbol'];
    }


  • Mysql不再使用请使用mysqli或PDO进行澄清;php的mysql方法已被弃用,在未来的php版本中可能不再受支持。请改用PDO或mysqli_uu方法。这非常有效,但是,您能否让我确切地知道发生了什么,以备将来参考。您可以从数组中读取每个值,并将其重新分配给$id和$symbol变量,但在遍历整个记录集之前,您没有使用这些值。因此,当您到达输出阶段时,$id和$symbol只反映了在while循环中指定的位置。谢谢你的推荐。我将把这个答案加入书签。再次感谢!