<?PHP
/**
* 使用指定的编码导出MysqL数据到csv的代码
*
* @param
* @author 网: 512Pic.com * PHP code to export MysqL data to CSV
*
* Sends the result of a MysqL query as a CSV file for download
* Easy to convert to UTF-8.
*/
/*
* establish database connection
*/
$conn = MysqL_connect('localhost','login','pass') or die(MysqL_error());
MysqL_select_db('database_name',$conn) or die(MysqL_error($conn));
MysqL_query(SET NAMES CP1252);
/*
* execute sql query
*/
$query = sprintf('SELECT field1,field2 FROM table_name');
$result = MysqL_query($query,$conn) or die(MysqL_error($conn));
/*
* send response headers to the browser
* following headers instruct the browser to treat the data as a csv file called export.csv
*/
header('Content-Type: text/csv; charset=cp1252');
header('Content-disposition: attachment;filename=output.csv');
/*
* output header row (if atleast one row exists)
*/
$row = MysqL_fetch_assoc($result);
if ($row) {
echocsv(array_keys($row));
}
/*
* output data rows (if atleast one row exists)
*/
while ($row) {
echocsv($row);
$row = MysqL_fetch_assoc($result);
}
/*
* echo the input array as csv data maintaining consistency with most CSV implementations
* - uses double-quotes as enclosure when necessary
* - uses double double-quotes to escape double-quotes
* - uses CRLF as a line separator
*/
function echocsv($fields)
{
$separator = '';
foreach ($fields as $field) {
if (preg_match('/\\r|\\n|,|/',$field)) {
$field = '' . str_replace('','',$field) . '';
}
echo $separator . $field;
$separator = ',';
}
echo \r\n;
}
/*** 来自编程之家 jb51.cc(jb51.cc) ***/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。