如何将查询结果导出到csv文件?

时间:2017-02-25 13:52:06

标签: php mysql sql database export-to-csv

是否可以从此创建csv文件?

数据库中的这个表看起来像下面的一个回声

    id  | category|  supplier   | price
    1   |    A    |  supplier1  | 5
    2   |    B    |  supplier2  | 3
    3   |    B    |  supplier1  | 7
    4   |    C    |  supplier3  | 6
    5   |    C    |  supplier1  | 2
    6   |    B    |  supplier3  | 9
<?php
session_start();
$host = "localhost";
$user = "root";
$pass = "";

$con = mysql_connect($host,$user,$pass);
if($con)
{
      $db = mysql_select_db('stocks');
       if($db)
       {}
       else 
       {
         echo "No Database Found! " ;
        }
}
else 
{
     echo "Failed to Connect! ";
}
?>
<table>
<tr>
    <th>Category</th>
    <th>Stock</th>
    <th>Percentage</th>
</tr>
<?php
$total=6;
        $q="SELECT id,name,supplier,price,COUNT(*) FROM  items GROUP BY supplier";
        $r = mysql_query($q);
        while($row = mysql_fetch_array($r))
        {
                 $ratio=($row['COUNT(*)']/$total)*(100);
            echo "<tr>";
echo "<td>" . $row['category'] . "</td>";
echo "<td>" . $row['COUNT(*)'] . "</td>";
echo "<td>" . round($ratio,2). "%</td>";
echo "</tr>";
        }
echo "</table>";        
         ?>

我怎样才能把它放在csv中?

我只知道要在表格中选择全部。

类别股票百分比      A 1 16.67%      B 3 50%      C 2 33.33%

3 个答案:

答案 0 :(得分:0)

你可以使用php函数fputcsv。我正在分享一个示例工作代码。

$rs=mysql_query($sql,$conn);
while($row = mysql_fetch_assoc($rs)) {
    fputcsv($output, $row);
}

答案 1 :(得分:0)

var page = new WebPage(); 
page.open('http://****.blogspot.com/'); 
page.onLoadFinished = function(status) { 
    page.render('k5.png'); 
    phantom.exit(); 
};

链接到页面http://code.stephenmorley.org/php/creating-downloadable-csv-files/希望符合您的需求

答案 2 :(得分:0)

while($row = mysql_fetch_array($r))
        {   $data=array($row['category'],$row['COUNT(*)'],round(($row['COUNT(*)']/$total)*(100),2));
            fputcsv($output, $data);
        }

@Davinder @Virgilio这完全有效,但在第39行的C:\ xampp \ htdocs \ revamp \ csv.php中有错误消息(解析错误:语法错误,意外')') 除此之外,它完美地运作