【问题标题】:jquery php and csv exportingjquery php 和 csv 导出
【发布时间】:2010-03-04 20:14:01
【问题描述】:

我有一个用于将 mysql 查询结果导出为 csv 文件的脚本。问题是我使用 jquery 来访问脚本。我需要知道如何使用 jquery 返回数据(已经是 csv 格式)。换句话说,只是为了让自己清楚,因为我的英语有点差,当用户按下 html 文件中的按钮时,一个 post 请求被发送到一个 php 文件,该文件以 csv 格式返回数据。我想用 jquery 获取这些数据并将 .csv 文件提供给用户。

PHP 文件:

<?php
    session_start();
    header ("Content-type: application/csv\nContent-Disposition: \"inline; filename=my.csv\"");
    include("config.php");
    $query = $_SESSION['sqlQuery'];

    $result = mysql_query($query) or die("Query failed : " . mysql_error());
    echo "ID,STATUS,CATEGORY,TITLE,DATE,URL\r\n"; //header
    while($row = mysql_fetch_row($result)) {
        echo "$row[0],$row[4],$row[3],$row[1],$row[2]\r\n"; //data
    }
?>

我需要 HTML 中的一些内容,例如:

$("#exportToCsv").click(function(){
   $.post("export.php",function(data){
        here the code for exporting much like downloading a file
  });
});

【问题讨论】:

    标签: php jquery csv


    【解决方案1】:

    你可以只链接到文件(没有 ajax,没有$.post),标题是 henchman 说的。它将下载文件。 Ajax 是让 javascript 获取文件,而不是执行下载。

    【讨论】:

      【解决方案2】:

      您需要针对此任务的哪一部分提供帮助?

      以下命令将文件打印给用户:

      http://php.net/manual/en/function.file-get-contents.php

      例如:

      echo file_get_contents("myfile.csv");
      

      编辑

      尝试将以下标头添加到您的 php 页面,该页面将为您的 ajax 调用调用:

      header("Content-Type: text/csv");
      header("Content-Disposition: attachment; filename=\"export.csv\"");
      

      【讨论】:

      • 这是 php.ini 文件。所以我需要 html 文件中的一些东西,比如: $.post("exportCsv.php",function(data){ 在这里导出为 csv 文件(比如下载 .csv 文件)});
      猜你喜欢
      • 2013-04-11
      • 2012-08-12
      • 1970-01-01
      • 2011-06-07
      • 2023-04-04
      • 1970-01-01
      • 2017-06-24
      • 1970-01-01
      • 2011-06-06
      相关资源
      最近更新 更多