2009-11-07 59 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,简单的东西就像隐藏导航菜单和增加字体大小。