2009-11-07 55 views
0

我已經開發了用戶可以用它來存儲自己喜愛的書籍列表中的應用程序,電子書他們讀過,書,他們想閱讀等,這一切都工作正常,但它只是忽然覺得用戶可能需要打印了清單或下載他們的名單在另一種格式使用如CSV文件導入到電子表格中。如何允許用戶打印和下載MySQL查詢結果

顯然用戶可以打印整個網頁,但我想給他們只是打印他們的名單,或下載它的能力是說CSV文件在電子表格中使用。

什麼是做到這一點,除了傳遞查詢結果的HTML頁面和打印HTML頁面的最簡單的方法?

回答

2

要輸出,你可以簡單地格式化從查詢中爲CSV文件輸出爲csv,然後將內容處置標頭TEH輸出。這段代碼取自this website

<? 
$csv_output = "column 1,column2"; 
$csv_output .= "\n"; 
$result = mysql_query("select * from table"); 

while($row = mysql_fetch_array($result)) { 
    $csv_output .= "$row[col1],$row[col2]\n"; 
    } 

header("Content-type: application/vnd.ms-excel"); 
header("Content-disposition: csv" . date("Y-m-d") . ".xls"); 
print $csv_output; 
exit; 
?> 
4

印刷,大多數用戶體會出他們感興趣的只是/大部分的數據「清理的」 HTML頁面的簡單性。通過這種方式,他們可以留在網頁瀏覽器中獲得快速打印他們需要的東西。如湯姆所示,這通常可以通過CSS實現,從而可以隱藏打印輸出中的不需要的元素,並且可以以略微不同的樣式顯示其他元素(例如,假設使用B/W打印機等,引入更多的對比)。 )。

對於導出數據,則需要引入一個鏈接/按鈕,用戶可以點擊,象徵着他們渴望得到出口[以特定格式]數據。然後,您的應用程序可以爲這個正確的MIME類型下(即你要修改HTTP標頭的內容類型(是像‘應用程序/文本’)流的CSV文本之前)

1

顯然用戶可以打印整個網頁,但是我想讓他們能夠打印他們的列表,或者將它下載爲CSV文件以用於電子表格。

爲什麼不提供print stylesheet,簡單的東西就像隱藏導航菜單和增加字體大小。