【问题标题】:csv php mysql data export - all data is being exported in one columncsv php mysql 数据导出 - 所有数据都被导出在一列中
【发布时间】:2015-01-19 07:12:12
【问题描述】:

我需要使用下面的 php 脚本在我的 csv 导出中将姓名、给定电话号码移动备注位置都放在单独的列中。当前代码为每条记录导出一列中的所有选定数据。谢谢!

$result = mysql_query('SELECT who as "Name,Given" , phonenumber as "mobile", notes, location FROM `phpbb_phonelist` WHERE `activenumber` = 1'); 
if (!$result) die('Couldn\'t fetch records'); 
$num_fields = mysql_num_fields($result); 
$headers = array(); 
for ($i = 0; $i < $num_fields; $i++) 
{     
   $headers[] = mysql_field_name($result , $i); 
} 
$fp = fopen('php://output', 'w'); 
if ($fp && $result) 
{     
   header('Content-Type: text/csv');
   header('Content-Disposition: attachment; filename="phonelist.csv"');
   header('Pragma: no-cache');    
   header('Expires: 0');
   fputcsv($fp, $headers); 
   while ($row = mysql_fetch_row($result)) 
   {
      fputcsv($fp, array_values($row)); 
   }
die; 

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    使用此代码

    // output headers so that the file is downloaded rather than displayed
    header('Content-Type: text/csv; charset=utf-8');
    header('Content-Disposition: attachment; filename=data.csv');
    
    // create a file pointer connected to the output stream
    $output = fopen('php://output', 'w');
    
    // output the column headings
    fputcsv($output, array('Column 1', 'Column 2', 'Column 3'));
    
    // fetch the data
    mysql_connect('localhost', 'username', 'password');
    mysql_select_db('database');
    $rows = mysql_query('SELECT field1,field2,field3 FROM table');
    
    // loop over the rows, outputting them
    while ($row = mysql_fetch_assoc($rows)) 
    
       fputcsv($output, $row);
    

    【讨论】:

      猜你喜欢
      • 2015-04-19
      • 1970-01-01
      • 2022-08-02
      • 2016-01-25
      • 2016-02-05
      • 2012-03-18
      • 1970-01-01
      • 2013-04-29
      • 1970-01-01
      相关资源
      最近更新 更多