2012-04-13 99 views
-2

我想在Zend Framework中将数据库表列字段下载为CSV。有没有任何ZF库?在Zend Framework中下载数据库表列字段为CSV

SO还有其他的问题可以解决这个特定的问题,但是他们都没有提供足够的细节。有人可以请详细描述如何做到这一点?

+0

您应该接受以前问题的一些答案。 – sshow 2012-04-13 09:22:32

回答

0

我假设你有一个标准的DbTable模型用于你的表格。获取表格信息使用info() method

//the following is pseudocode and not meant to be copied directly, intended to guide 
public function indexAction() { 
    $model = new Application_Model_DbTable_MyTable(); 
    //This returns an array of table info 
    $info = $model->info(); 
    //prepare the data so each line can be saved 
    $data = $info['name'] . ',' . $info['primary']; 
    //then write each line to the database, I usually use a function from 
    // a utility class or a protected function 
    //I would normally build an array of the data I want saved and then 
    //iterate over the array saving as I go. 
    $save = $this->_writeToFile($filename, $data); 
} 

//the following function is not pseudocode 
protected function _writeToFile($filename, $content) { 
     // Let's make sure the file exists and is writable first. 
     if (is_writable($filename)) { 

      // In our example we're opening $filename in append mode. 
      // The file pointer is at the bottom of the file hence 
      // that's where $somecontent will go when we fwrite() it. 
      if (!$handle = fopen($filename, 'a')) { 
       echo "Cannot open file ($filename)"; 
       exit; 
      } 
      // Write $somecontent to our opened file. 
      if (fwrite($handle, $content) === FALSE) { 
       echo "Cannot write to file ($filename)"; 
       exit; 
      } 
      echo "Success, wrote ($content) to file ($filename) <br />"; 
      //close file 
      fclose($handle); 
     } else { 
      echo "The file $filename is not writable"; 
     } 
    } 

希望这点指向你在正确的方向。