导出csv文件,用PHP从mysql下载

时间:2014-03-26 11:17:36

标签: php mysql

我正在尝试从我的mysql数据库获取csv文件并将其发送到浏览器进行下载。

我读了一些关于它的帖子,但我无法下载文件。

当我运行我的代码时,不会下载该文件。

我通过ajax将POST发送到此文件。

这是我的代码:

<?php

    download_send_headers();

    $mysqli = new mysqli(*****);

    $mysqli->set_charset("utf8");

    $sql = "SELECT trainer, COUNT(trainer) FROM personal_traning WHERE gym = ? GROUP BY trainer"; 

    $stmt = $mysqli->prepare($sql);

    $stmt->bind_param('s', $_POST['gym']);

    $stmt->execute();

    $stmt->store_result();

    $stmt->bind_result($trainer, $trainerCount);

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

    $results = array();

    $row = array();

    $row[0] = "Trainer name";
    $row[1] = "Count";

    fputcsv($f, $row); 

    while ($stmt->fetch()) 
    {

    $row = array();

    $row[0] = $trainer;
    $row[1] = $trainerCount;

    fputcsv($f, $row); 

    }

    $output = stream_get_contents($f);

    fclose($f);

    echo $output;

    die();

function download_send_headers() {

    header('Content-Disposition: attachement;filename="name";');

    header('Content-Type: application/csv; charset=UTF-8');
}


?>

我该怎么做?

1 个答案:

答案 0 :(得分:1)

尝试将.csv添加到标题的文件名中。