2009-11-07 2 views
0

사용자가 좋아하는 책, 읽은 책, 읽으려는 책의 목록을 저장하는 데 사용할 수있는 응용 프로그램을 개발했습니다. 모든 것이 정상적으로 작동하지만 갑자기 사용자가 목록을 인쇄하거나 목록을 다운로드하여 CSV 파일과 같은 다른 형식으로 스프레드 시트로 가져올 수 있습니다.사용자가 MySQL 쿼리 결과를 인쇄하고 다운로드 할 수있게하는 방법

분명히 사용자는 전체 웹 페이지를 인쇄 할 수는 있지만 목록을 인쇄하거나 스프레드 시트에서 사용할 CSV 파일을 다운로드 할 수있는 권한을 부여하고 싶습니다.

쿼리 결과를 HTML 페이지로 전달하고 HTML 페이지를 인쇄하는 것 외에는 가장 쉬운 방법은 무엇입니까?

답변

2

csv를 출력하려면 검색어의 출력을 csv 파일로 형식을 지정한 다음 출력을위한 내용 처리 헤더를 설정하면됩니다. 이 스 니펫은 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 페이지의 단순함을 주셔서 감사합니다.이 방식으로 그들이를 얻기 위해 웹 브라우저 내에서 머물 수 그들이 필요로하는 것을 신속하게 인쇄하십시오. Tom에 의해 표시된 바와 같이, 이것은 종종 인쇄물의 원하지 않는 요소를 숨길 수 있고 다른 요소가 약간 다른 스타일로 표시 될 수있는 CSS로 달성 할 수 있습니다 (예 : B/W 프린터 등을 가정 할 때 더 많은 비유를 도입하는 경우).).

데이터를 내보내려면 링크를 클릭해야 사용자가 클릭하여 특정 형식으로 내 보낸 데이터를 가져올 수 있습니다. 그러면 응용 프로그램에서 적절한 MIME 유형으로 서비스를 제공 할 수 있습니다. 즉, CSV 텍스트를 스트리밍하기 전에 http 헤더의 Content-type을 수정합니다 (CSV 텍스트를 스트리밍하기 전에).

1

분명히 사용자 전체 웹 페이지를 인쇄 할 수는 있지만 목록을 인쇄하거나 스프레드 시트에서 사용할 CSV 파일을 다운로드 할 수있는 권한을 부여하고 싶습니다.

print stylesheet을 제공하지 않는 이유는 탐색 및 메뉴를 숨기고 글꼴 크기를 늘리는 것과 같은 간단한 작업입니다.

관련 문제