2011-11-16 2 views
0

저는 PHP에서 여전히 아마추어 적이 지요. 다운로드 할 수있는 CSV 파일로 다음을 어떻게 내보내나요? 나는 csv에 대한 질의 오른쪽에서 모든 결과를 그물로 내보내는 그물에서 여러 가지 기능을 시도했다. 그러나 이것은 내가 무엇을하고 싶은지와 다르다. 질의에서 다음의 특정 필드를 내보내는 것이다. foreach 결과는 csv의 1 행에있다. 파일 및 열 제목을 포함 할 수도 있습니다. 다음 코드는 예제 구조이지만 CSV로 내보내려면 무엇을 추가해야합니까?특정 필드를 쿼리에서 다운 로더 CSV 파일로 내 보냅니다.

if($_GET['task'] == "export_failed"){ 

$query = "SELECT * FROM food_order, client, takeaway WHERE client.client_id = food_order.order_customer_id AND takeaway.takeaway_id = food_order.takeaway_id AND processed=0"; 

$result = mysql_query($query); 
while($row = mysql_fetch_assoc($result)){ 
    $orders[] = $row; 
} 
$i=0; 
foreach($orders as $order){ 

    if($i == 0){ //make column headings 
     echo "Delivery Date/Time"; 
     echo "Customer First Name"; 
     echo "Customer sureName"; 
     echo "Takeaway id"; 
     echo "takeaway name";  
    } 
    else { //rows in csv file 

     $order['delivery_time']; 
     $order['client_firstname']; 
     $order['client_surname']; 
     $order['takeaway_id']; 
     $order['takeaway_name']; 
    } 

$i++; 
    } 
} 

답변

0

CSV 파일로 출력 웹 콘텐츠를 체크 아웃 : Creating a CSV file with PHP

그/그녀의 샘플 코드는 페이지 자체의 설정뿐만 아니라 헤더 및 특정 컬럼의 출력을 보여줍니다.

btw 헤더와 관련하여 열 머리글은 데이터 행 루프 전에 출력됩니다. 코드를 가지고있는 경우 루프가 헤더를 대신 사용하기 때문에 반환 데이터 세트의 첫 번째 행이 출력되지 않습니다.

+0

덕분에 링크가 도움이되었습니다. 지금은 CSV 파일을 생성 할 수 있으며 데이터는 올바른 레이아웃에 있지만 실제로 원하는 데이터가 있기 전에 CSV 파일의 html을 페이지에서 가져옵니다. 어떤 생각이 그 원인일까요? – user1050412

+0

첫 번째 확인 장소는 출력을 시작하기 전의 코드입니다. 에코 또는 인쇄 문. 둘째, <%php %> 섹션 외부에 html 태그가 있는지 확인하십시오. 마지막으로 시도해 볼 수있는 또 다른 방법은 헤더 캐시를 no-cache로 설정하는 것입니다.'header ("Cache-Control : no-cache");는 첫 번째 <% php 섹션의 맨 위에 놓습니다. – user1026655

관련 문제