Dire que j'ai stocké une requête dans une variable appelée $ query. Je veux créer un petit hyper lien appelé "exporter en CSV" sur la page de résultats. Comment puis-je faire cela?Exporter le résultat de la requête au format CSV via PHP
7
A
Répondre
11
$query = "SELECT * FROM table_name";
$export = mysql_query ($query) or die ("Sql error : " . mysql_error());
$fields = mysql_num_fields ($export);
for ($i = 0; $i < $fields; $i++)
{
$header .= mysql_field_name($export , $i) . "\t";
}
while($row = mysql_fetch_row($export))
{
$line = '';
foreach($row as $value)
{
if ((!isset($value)) || ($value == ""))
{
$value = "\t";
}
else
{
$value = str_replace('"' , '""' , $value);
$value = '"' . $value . '"' . "\t";
}
$line .= $value;
}
$data .= trim($line) . "\n";
}
$data = str_replace("\r" , "" , $data);
if ($data == "")
{
$data = "\n(0) Records Found!\n";
}
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=your_desired_name.xls");
header("Pragma: no-cache");
header("Expires: 0");
print "$header\n$data";
5
ehm?
<a href="yourexport.php" title="export as csv">Export as CSV</a>
et si vous cherchez Wich script peut faire:
$myArray = array();
$fp = fopen('export.csv', 'w');
foreach ($myArray as $line) {
fputcsv($fp, split(',', $line));
}
fclose($fp);
3
CSV = Comma Separated Values = Séparer vos valeurs par des virgules
vous devez echo/imprimer votre ligne de résultat par ligne, séparés par une virgule (,).
Je suppose que votre requête $ est le jeu de résultats de votre requête, qui est un tableau associatif:
while($query = mysql_fetch_assoc($rs)) {
// loop till the end of records
echo $query["field1"] . "," . $query["field2"] . "," . $query["field3"] . "\r\n";
}
où rs $ est la poignée de ressources.
Pour que le navigateur affiche une boîte de téléchargement, vous devez définir l'en-tête au début du fichier (en supposant que votre nom de fichier est export.csv):
header("Expires: 0");
header("Cache-control: private");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Description: File Transfer");
header("Content-Type: application/vnd.ms-excel");
header("Content-disposition: attachment; filename=export.csv");
Ca y est!
p.s. Cette méthode ne laissera pas un fichier physique dans le serveur. Si vous avez l'intention de générer un fichier sur le serveur, utilisez les fonctions traditionnelles fopen et fwrite.
Questions connexes
- 1. Exporter la base de données d'accès au format CSV
- 2. Comment exporter une base de données Access au format CSV?
- 3. Exporter le fichier au format CSV dans Crystal Report 11
- 4. SQL SERVER Le résultat de la requête au format CSV est-il possible?
- 5. Comment exporter des sous-tables au format csv dans Piwik
- 6. Comment exporter au format CSV dans une application ASP.NET MVC?
- 7. Comment exporter un csv au format utf-8?
- 8. exporter au format epub en php
- 9. Comment exporter au format CSV depuis sqlite3 sur iPhone?
- 10. Classe PHP pour exporter des données au format d'importation QuickBooks?
- 11. Comment exporter des données de la base de données au format .csv par programmation?
- 12. webcontent enregistrer au format csv
- 13. C# Exporter le certificat au format pfx
- 14. SUPER CSV écriture haricots au format CSV
- 15. comment exporter au format Excel et csv dans le rapport Jasper
- 16. Exporter les résultats de la requête dans le problème de fichier CSV dans SQL Server
- 17. Exporter vers csv ExtJS
- 18. RDLC Exporter le rapport local vers CSV
- 19. Exporter un classeur Excel avec de nombreuses feuilles de calcul au format XML ou CSV
- 20. Oracle comment exporter la requête dans un fichier texte/csv
- 21. Réponse Type de contenu au format CSV
- 22. Comment exporter des données de table au format CSV dans Ruby 1.9.2 + Rails3?
- 23. Comment faire pour exporter une DESC de chaque table dans MySQL (au format csv)
- 24. comment prendre un rapport au format CSV dans php codeigniter
- 25. maya exporter au format flash 10
- 26. stocke la sortie d'un objet curseur au format csv
- 27. Format de résultat httpservice
- 28. Exporter une table MySQL via JOIN?
- 29. Ajout de métadonnées au format PDF via PHP
- 30. Liste au format CSV en Python
Une combinaison d'ArneRie et votre réponse fonctionne parfaitement bien – Arc