/** * DBにデータを保存する. * * @param integer $sql_id 出力するデータのSQL_ID * @return void */ public function lfDoCsvOutput($sql_id) { $objCSV = new SC_Helper_CSV_Ex(); $arrData = $this->lfGetSqlList('sql_id = ?', array($sql_id)); $sql = 'SELECT ' . $arrData[0]['csv_sql']; $objCSV->sfDownloadCsvFromSql($sql, array(), 'contents', null, true); SC_Response_Ex::actionExit(); }
/** * DBにデータを保存する. * * @param integer $sql_id 出力するデータのSQL_ID * @return void */ function lfDoCsvOutput($sql_id) { $arrData = $this->lfGetSqlList('sql_id = ?', array($sql_id)); $sql = 'SELECT ' . $arrData[0]['csv_sql'] . ' '; // TODO: ヘッダ取得 SQL内にLIMIT文がある場合はLIMIT句は追加しないので重いかも $objQuery =& SC_Query_Ex::getSingletonInstance(); $arrHeader = array(); if (!preg_match('/ LIMIT /', $sql)) { $head_sql = $sql . ' LIMIT 0'; } else { $head_sql = $sql; } $arrData = $objQuery->getQueryDefsFields($head_sql, array(), true); if (!SC_Utils_Ex::isBlank($arrData)) { foreach ($arrData as $key => $val) { $arrHeader[] = $key; } } $objCSV = new SC_Helper_CSV_Ex(); $objCSV->sfDownloadCsvFromSql($sql, array(), 'contents', $arrHeader, true); SC_Response_Ex::actionExit(); }
/** * DBにデータを保存する. * * @param integer $sql_id 出力するデータのSQL_ID * @return void */ function lfDoCsvOutput($sql_id) { $arrData = $this->lfGetSqlList('sql_id = ?', array($sql_id)); $sql = "SELECT " . $arrData[0]['csv_sql'] . " "; // TODO: ヘッダ取得 SQL内にLIMIT文がある場合はLIMIT句は追加しないので重いかも $objQuery =& SC_Query_Ex::getSingletonInstance(); $arrHeader = array(); if (!preg_match("/ LIMIT /", $sql)) { $head_sql = $sql . " LIMIT 0"; } else { $head_sql = $sql; } $arrData = $objQuery->getQueryDefsFields($head_sql, array(), true); if (!SC_Utils_Ex::isBlank($arrData)) { foreach ($arrData as $key => $val) { $arrHeader[] = $key; } } require_once CLASS_EX_REALDIR . 'helper_extends/SC_Helper_CSV_Ex.php'; $objCSV = new SC_Helper_CSV_Ex(); $objCSV->sfDownloadCsvFromSql($sql, array(), 'contents', $arrHeader, true); exit; }