Giả sử tôi đã lưu trữ một truy vấn trong một biến gọi là truy vấn $. Tôi muốn tạo liên kết siêu nhỏ được gọi là "xuất dưới dạng CSV" trên trang kết quả. Làm thế nào để tôi làm điều này?kết quả truy vấn xuất dưới dạng CSV thông qua PHP
7
A
Trả lời
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>
và nếu bạn đang tìm kiếm kịch bản Mà có thể làm điều này:
$myArray = array();
$fp = fopen('export.csv', 'w');
foreach ($myArray as $line) {
fputcsv($fp, split(',', $line));
}
fclose($fp);
3
CSV = Comma Values Ly = Tách giá trị của bạn với dấu phẩy
bạn có để echo/in dòng kết quả của bạn theo dòng, được phân tách bằng dấu phẩy (,).
tôi giả sử $ query của bạn là tập hợp kết quả của truy vấn của bạn, đó là một mảng kết hợp:
while($query = mysql_fetch_assoc($rs)) {
// loop till the end of records
echo $query["field1"] . "," . $query["field2"] . "," . $query["field3"] . "\r\n";
}
nơi $ rs là handle tài nguyên.
Để cho phép trình duyệt bật lên một hộp tải về, bạn phải thiết lập các tiêu đề ở đầu file (giả định tên tập tin của bạn là 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");
Vậy là xong!
p.s. Phương thức này sẽ không để lại một tệp vật lý nào trong máy chủ. Nếu bạn dự định tạo một tệp trong máy chủ, hãy sử dụng các hàm fopen và fwrite truyền thống.
Các vấn đề liên quan
- 1. Cách gửi kết quả truy vấn ở định dạng CSV?
- 2. Django - Kết quả truy vấn dưới dạng 'kết hợp' dict?
- 3. Truy vấn mysql và xuất dữ liệu dưới dạng CSV trong PHP
- 4. xuất kết quả truy vấn sql sang csv hoặc excel
- 5. Xuất kết quả truy vấn JasperReports
- 6. django admin - xuất khẩu dưới dạng csv
- 7. Truy vấn xuất khẩu MySQL dưới dạng câu lệnh chèn
- 8. SQL - "Lưu kết quả dưới dạng CSV" - sử dụng dấu phẩy thay vì Bán đại tràng
- 9. Xuất sang csv - LINQ truy vấn
- 10. Làm cách nào để truy xuất kết quả dưới dạng mảng đa chiều từ mySQL và PHP?
- 11. JPA 2.0 bản địa kết quả truy vấn dưới dạng bản đồ
- 12. Cách truy vấn Số liệu và lặp qua kết quả?
- 13. Nối kết quả từ hai truy vấn và đầu ra dưới dạng một bảng duy nhất
- 14. Nhận kết quả truy vấn MySQL dưới dạng kiểu dữ liệu gốc của chúng?
- 15. window.location.search truy vấn dưới dạng JSON
- 16. php có thể truy vấn kết quả từ truy vấn trước đó không?
- 17. Sử dụng PHP để định dạng truy vấn SQL đầu vào dưới dạng HTML?
- 18. Kết quả truy vấn Oracle mâu thuẫn
- 19. Pandas đọc csv dưới dạng chuỗi
- 20. Oracle cách xuất truy vấn sang tệp văn bản/csv
- 21. Mã PHP để chuyển đổi truy vấn MySQL thành CSV
- 22. Tìm kiếm Kết quả đề xuất được hiển thị dưới dạng trống/không có văn bản
- 23. Thứ tự kết quả truy vấn XPath
- 24. Xuất dữ liệu MYSQL vào Excel/CSV qua php
- 25. TSQL - cách thực thi truy vấn dưới dạng biến?
- 26. Làm thế nào để bạn xuất kết quả truy vấn MySQL ở định dạng csv (vào màn hình, không phải tệp)?
- 27. Trích xuất các kết quả phù hợp từ php regex
- 28. Khởi chạy tập lệnh dưới dạng root thông qua ADB
- 29. Kết quả truy vấn SQL trong một chuỗi (hoặc biến)
- 30. SQLite3 (hoặc SQL chung) truy xuất hàng thứ n của kết quả truy vấn
Sự kết hợp giữa ArneRie và câu trả lời của bạn hoạt động hoàn toàn tốt – Arc