将文件从数据库导出到csv时,它会在表列名称的行中显示内容

时间:2015-10-14 06:34:48

标签: php mysql

将文件导出到csv时,我的内容会添加到同一行的列名中。我想在下面的内容中找到相应的列。代码如下

//calling method
savetodbsingle.insert(id,type,cat, handleSaved)); 

private void handleSaved(object o, Exception e)
{
    MessegeBox.Show("Completed");
}

2 个答案:

答案 0 :(得分:0)

您可以按照以下方式执行此操作,无需进行数组合并

<?php
        $filename = "file.csv";
        $fp = fopen('php://output', 'w');           
        header('Content-type: application/csv');
        header('Content-Disposition: attachment; filename='.$filename);
        $headerLine = 'Sr. No,Name,DOB,Address';
        fputcsv($fp, explode(",",$headerLine); // adding heading
        $query = "select * from registratin";
        $result = mssql_query($query);
        $i = 1;
        while($row = mssql_fetch_row($result)) {
          //$row = array_merge(array($i), $row); ***no need***
          fputcsv($fp, $row);
          $i++;
        }
        fclose($fp);

?>

答案 1 :(得分:0)

最好使用mysqli,这是完成工作的简单方法。 在select中只选择必填列。

header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=data.csv');
$output = fopen('php://output', 'w');

fputcsv($output, array('SR No', 'Name','DOB','Address'));

$conn = mysqli_connect('localhost', 'root', 'password',"database");
$rows = mysqli_query($conn,'SELECT * from registration');

while ($row = mysqli_fetch_assoc($rows))
    fputcsv($output, $row);