昊天SEO

php使用指定的编码导出mysql数据到csv的代码

php使用指定的编码导出mysql数据到csv的代码

<?php                                                                                                                                                                                                                                       
/*                                                                                                                                                                                                                                          
 * PHP code to export MySQL data to CSV                                                                                                                                                                                                     
 * http://911-need-code-help.blogspot.com/2009/07/export-mysql-data-to-csv-using-php.html                                                                                                                                                   
 *                                                                                                                                                                                                                                          
 * 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";                                                                                                                                                                                                                            
}                                                                                                                                                                                                                                           
?>                                                         

本文地址官网    新乡网站建设,seo

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址