我有MySql数据库和网站,在web中我在表中显示数据库值。我让CSV导出指定的数据库模型(表)。
`$this->view->table = $model->info('name');
$is_csv = $this->_getParam('csv');
if ($this->_request->isPost() && $is_csv) {
$file1 = 'Baudų sąrašas '.$date_from.' iki '.$date_to.'.csv';
$fp = fopen('php://output', 'w+');
if ($date_from) {
$select->where("date >= ?", $date_from . ' 00:00:00');
}
if ($date_to) {
$select->where("date <= ?", $date_to . ' 23:59:59');
}
$data = $model->fetchAll($select);
foreach ($data as $fields) {
fputcsv($fp, $fields->toArray());
}
fclose($fp);
if ($file1 !== false) {
header('Content-type: text/plain');
header('Content-Disposition: attachment; filename="' . $file1 . '"');
exit;
}
}`
以及称之为的HTML
form method="post">
<div class="control-group pull-right">
<input type="hidden" name="table" value="<?php echo $this->table ?>" />
<button type="submit" class="btn" name="csv" value="csv"><?php echo Core_Locale::translate('CSV')?></button>
</div>
</form>
现在我不想从数据库中获取,而是从具有数据库Join的函数中获取,但当我使用return $this->getAdapter()->fetchAll($select);
它给出了非对象的错误,当我写return $this->fetchAll($select);
时,它给出了来自函数的数据库数据。。。有人知道怎么做吗?
这不是你问题的确切答案,但你为什么不试试这个呢。。
SELECT * FROM my_table INTO OUTFILE 'my_table.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '''' LINES TERMINATED BY ''n';
复制自:使用php将mysql表列表从mysql导出到csv文件