2010-03-04 5 views
0

j'ai un script pour l'exportation des résultats d'une requête MySQL en tant que fichier csv. Le truc c'est que j'utilise jquery pour accéder au script. J'ai besoin de savoir comment je peux retourner les données (déjà au format csv) avec jquery. En d'autres termes, juste pour me rendre clair parce que mon anglais est un peu pauvre, quand l'utilisateur appuie sur un bouton dans le fichier html, une demande de poste est envoyée à un fichier php qui retourne les données au format csv. Je veux prendre ces données avec jquery et servir le fichier .csv à l'utilisateur.jquery php et csv exportation

fichier 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 
    } 
?> 

je besoin de quelque chose dans le code HTML comme:

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

Répondre

1

Vous pouvez simplement lier au fichier (pas ajax, pas $.post) avec l'en-tête henchman dit. Il va télécharger le fichier. Ajax est un outil pour javascript pour obtenir le fichier, pas pour effectuer le téléchargement. ?

0

pour laquelle une partie de cette tâche avez-vous besoin d'aide?

Les impressions de commande suivantes un fichier à l'utilisateur:

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

par exemple:

echo file_get_contents("myfile.csv"); 

modifier

Essayez d'ajouter les en-têtes suivants à votre php pages , qui sera appelé pour votre appel ajax:

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

c'est le php. J'ai donc besoin de quelque chose dans le fichier html comme: $ .post ("exportCsv.php", fonction (données) { quelque chose ici pour exporter en tant que fichier csv (comme pour télécharger le fichier .csv) }); – user253530