2011-08-29 42 views
1

當我生成導出到CSV文件時,我有一個插入開始的選項卡。導出CSV文件開始時的刪除選項卡

我不明白爲什麼。

這裏是我的代碼:

public function hookExportAll($params){ 


     header('Content-Type: application/csv'); 
     header('Content-Disposition: inline; filename="clients.csv"'); 
     header('Cache-Control: private, max-age=0, must-revalidate'); 

     //mysql request 
     $sql = "..." 
     $clientlist = Db::getInstance()->ExecuteS($sql); 

        //separator recovered the post of the form 
     $filter['sep']=Tools::getValue('sep'); 
     //; or , or \t 

     $entete = array('email','nom','prenom','anniversaire','newsletter','adresse','pays','téléphone'); 

     echo $this->getcsvline($entete, $sep); 

     foreach($clientlist AS $client){ 
      echo $this->getcsvline($client, $sep); 
     } 

} 

private function getcsvline($list, $sep="\t"){ 
    return implode($sep, $list)."\r\n"; 
} 

有一點幫助?

+0

這個問題不太可能與你的數據庫代碼有關。請將您的代碼片段簡化爲造成問題所必需的**最低限度**(請參閱http://sscce.org/)。謝謝。 –

+0

DONE =)和遺憾 –

+0

只是在你的代碼的一般性意見......你可能不應該輸出的MIME頭這麼早 - 如果有什麼問題與您的數據庫查詢等你有沒有在HTML輸出有意義的錯誤的方式,等等,你最好等待發送標題,直到你確信你的數據可以作爲csv發送。 –

回答

1

最後,Ivar Bonsaksen一定是對的。必須先在CMS Prestashop中生成一個選項卡。由於沒有時間詳談這個案例,我認爲這個問題已經解決。

謝謝大家的支持,很快再見=)