【问题标题】:How can I export a csv file of the sql data with php? [duplicate]如何使用 php 导出 sql 数据的 csv 文件? [复制]
【发布时间】:2015-10-10 06:03:29
【问题描述】:

我目前有一个显示大约 4,000 个项目的应用程序。我从 mysql 数据库中提取它。我正在尝试创建一个按钮,该按钮将强制将数据库中的所有项目下载到 csv 文件中。我该怎么办?

csv.php

<?php

header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=data.csv');

$output = fopen('php://output', 'w');

fputcsv($output, array('Column 1', 'Column 2', 'Column 3'));

mysql_connect('localhost', 'root', 'root');
mysql_select_db('wp_xroads');
$rows = mysql_query('SELECT first_name,last_name,phone FROM bags');

while ($row = mysql_fetch_assoc($rows)) fputcsv($output, $row);
?>

html

<div class="col-md-2">
  <!-- Button to trigger csv file exporting -->
    <form action="csv.php" method="get">
        <a class="btn btn-success" type="submit" target="_blank">
          Export CSV <span class="badge"><span class='glyphicon glyphicon-save-file'></span></span>
        </a>
    </form>
</div>

提前致谢。 -ken

【问题讨论】:

标签: php mysql csv


【解决方案1】:

SELECT INTO OUTFILELOAD DATA FILE 相反。这会将 select 语句的结果放入指定的文件中。没有缓慢的、古怪的、非性能的 php 循环。 export_options 子句与LOAD DATA INFILE 中的选项风格相同。

https://dev.mysql.com/doc/refman/5.1/en/select-into.html

SELECT col1,col2,col3 INTO OUTFILE '/tmp/result.txt'
  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
  LINES TERMINATED BY '\n'
  FROM test_table;


SELECT first_name,last_name,phone INTO OUTFILE '/tmp/myBags.txt'
  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
  LINES TERMINATED BY '\n'
  FROM bags;

【讨论】:

  • 刚刚给你留下了评论(注意他的 * 和来自)@BK435
  • 嘿@drew-pierce,您提供的查询是我用来获取 csv 文件的吗?我只是将 php 文件链接到 标记吗?感谢您的帮助。
  • 查看上方编辑的底部。您如何称呼它取决于您(请记住,它们正在写入您的文件系统:
  • 该 select 语句可以任意复杂。它可以是一个巨大的连接,计算列,你可以命名它。
  • 让我试一试 :) 谢谢
猜你喜欢
  • 1970-01-01
  • 2020-01-06
  • 2020-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-01
  • 2018-09-04
相关资源
最近更新 更多