2011-03-21 61 views
3

我知道如何在php中導出csv文件。現在我想在zendframe工作中完成這項任務。在zend框架中導出csv

1我想知道是否有zend爲此提供的任何內置功能,或者我們必須編寫與我們在簡單php中使用的代碼相同的代碼?

2如果我必須使用相同的代碼,那麼我應該把模型還是控制器放在哪裏?

3我有一個視圖,用戶可以選擇開始日期,最後日期和用戶,然後按回車。在選擇的基礎上,我想exprot csv文件。

任何一個指導我如何去完成這個任務

回答

8

爲了解決您的積分,以便

  1. 沒有在Zend Framework中,將產生和CSV文件處理的組件。

  2. 您的控制器應該收集請求參數(即從點3開始的日期範圍)併發起響應。我會創建另一個可以生成CSV的類,然後使用this Controller Action Helper, SendFile實際發送CSV文件作爲下載。

  3. 讓您的控制器使用表單接收請求參數。使用你的類生成一個CSV(點2),然後使用助手發送響應。

對於生成CSV文件,但還是建議使用fputcsv,而不是自己構建的字符串。

6

這是一個Zend框架動作助手 - 可能會有所幫助。請注意,網站和代碼評論是德文的。 http://blog.abmeier.de/zend-csv-action-helper

+0

你應該寫一個關於頁面語言的說明:-)我非常震驚,這不是英文:-) :-) – xanatos 2011-10-01 09:45:25

0

建立在regilero的回答this question,我確實想出了一個Zend解決方案。只需使用數據庫本身完整的查詢:

$result = $this->_db->query(
    'SELECT * FROM `table_xy`' 
    .'INTO OUTFILE \'tmp/outputfile.csv\'' 
    .'FIELDS TERMINATED BY \';\'' 
    .'ENCLOSED BY \'"\'' 
    .'LINES TERMINATED BY \'\\n\'' 
); 

只是不要忘記設置了necessary privileges該用戶。