2013-02-28 49 views
0

我想從mysql表中創建一個.csv下載沒有太多成功。我將以下代碼放在一個教程中,我在這裏找到了http://code.stephenmorley.org/php/creating-downloadable-csv-files/,但出於某種原因,下載的.csv文件包含頁面的整個源代碼,而不是來自mysql表格的列標題和數據。創建.csv下載的問題

任何幫助,將不勝感激:)

// output headers so that the file is downloaded rather than displayed 
    header('Content-Type: text/csv; charset=utf-8'); 
    header('Content-Disposition: attachment; filename=site-list-export.csv'); 

    // create a file pointer connected to the output stream 
    $output = fopen('php://output', 'w'); 

    // output the column headings 
    fputcsv($output, array('id', 'url', 'clean_host', 'keyword', 'group', 'page_number', 'page_authority', 'domain_authority', 'page_mozrank', 'seomoz', 'page_title', 'check_inbound', 'check_inbound_priority ', 'count', 'project', 'type')); 


    // fetch the data 
    $connect = mysql_connect("localhost", DB_USERNAME, DB_PASSWORD); 
    mysql_select_db(DB_DATABASE, $connect); 

    $rows = mysql_query("SELECT * 
    FROM `url_list_google` 
    WHERE `group` = '".$selected_group."' 
    GROUP BY clean_host 
    ORDER BY `domain_authority` DESC") or die(mysql_error()); 
    mysql_close($connect); 

    // loop over the rows, outputting them 
    while ($row = mysql_fetch_assoc($rows)) fputcsv($output, $row); 

    } 
+0

您可以隨時安裝phpMyAdmin,因爲它支持CSV格式的數據庫導出。 – L0j1k 2013-02-28 08:13:42

+2

所以總之問題是** PHP代碼不是由Web服務器**執行的。其他PHP文件的工作?如果是的話,他們之間有什麼區別? – deceze 2013-02-28 08:17:10

+0

對不起,我應該更好地解釋這一點。是的所有其他PHP文件正在執行,上面的代碼只是一個小的片段,除了下載.csv部分外,它是一個正在運行的php頁面。有一個按鈕允許網站用戶下載他們數據的.csv文件。這是不正確運行的部分。如果你看看下面的頁面,你會希望看到我想實現的目標http://code.stephenmorley.org/php/creating-downloadable-csv-files/謝謝:-) – 2013-02-28 08:30:25

回答

0

添加exit;函數調用你的循環後,它會阻止其他內容呈現。