2012-07-24 4 views
0

으로 가능한 중복을 다운로드 링크 만들기 : 내 작은 프로젝트에 대한 MySQL의 쿼리에서 CSV 다운로드 링크를 만들 수있는 솔루션을 찾고
Create a CSV File for a user in PHP는 CSV는 PHP

.

기본적으로 다운로드 링크는이 형식에있을 것입니다 :

http://localhost/vnodes/generateExcel.php?fromDate=2012-07-23&toDate=2012-07-24&location=1 

있는 내 generateExcel.php이 포함됩니다 :

<?php 

$fromDate = $_GET['fromDate']; 
$toDate = $_GET['toDate']; 
$location = $_GET['location']; 

include "connect.php"; 
$connect = mysql_connect($dbhost, $dbusername, $dbpassword) or die(mysql_error()); 
mysql_select_db($dbname) or die(mysql_error()); 
$query = mysql_query("SELECT * FROM `nodes` WHERE `dateIn` BETWEEN '$fromDate' AND '$toDate' AND partLocation = '$location' ORDER BY `dateIn` ASC") or die(mysql_error()); 

header("Content-type: application/csv"); 
header("Content-Disposition: attachment; filename=report.csv"); 
header("Pragma: no-cache"); 
header("Expires: 0"); 

while($result = mysql_fetch_array($query)) { 
    echo $result['dateIn'].",".$result['partNumber'].",".$result['serialNumber'].",".$result['4serialNumber'].",".$result['status'].",".$result['operator']."\n"; 
} 
?> 

내가 모르는 건은 CSV를 만드는 방법입니다 $query 출력 중 하나를 다운로드하고 다운로드합니다.

도움 주셔서 감사합니다.

+1

새 코드에는 mysql_ * 함수를 사용하지 마십시오. 더 이상 유지 관리되지 않으며 커뮤니티에서 [지원 중단 프로세스] (http://goo.gl/KJveJ)를 시작했습니다. [** 빨간색 상자 **] (http://goo.gl/GPmFd)를 참조하십시오. 대신 [prepared statements] (http://goo.gl/vn8zQ)에 대해 알아야하고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용해야합니다. mysqli). 결정할 수없는 경우 [이 기사] (http://goo.gl/3gqF9)를 선택하면 도움이됩니다. 당신이 배우기를 원한다면, 여기 [좋은 PDO 튜토리얼] (http://goo.gl/vFWnC)입니다. – ManseUK

+0

감사합니다. @ManseUK. PDO와 MySQLi를 읽으려고합니다. 중복 가능성에 대해서는 예일 수도 있지만 이해가되지 않습니다. 기본적으로'$ results' 배열에서 CSV를 만들고 싶습니다. 어떻게해야할지 모르겠군요. – JudeJitsu

+0

첫 번째 댓글에서 링크를 구현하고 내 게시물을 편집했지만 다운로드 한 CSV 파일에 '화면 오류'오류가 있습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? – JudeJitsu

답변

2

변경 텍스트로 콘텐츠 형식/CSV

header("Content-type: text/csv"); 

그리고 헤더 이동은() 스크립트의 상단에 호출합니다.

의견에 제안 된대로 PDO 또는 mysqli를 사용하십시오.