将MySQL导出为CSV

时间:2014-05-21 16:30:12

标签: php mysql sql csv

我对PHP很新。

我想将我的数据库导出为CSV。我需要一个快速的解决方案,所以我寻找一些脚本。 我找到了一个简短的PHP脚本:

$num_fields = mysql_num_fields($result);

// Fetch MySQL result headers
$headers = array();
$headers[] = "[Row]";
for ($i = 0; $i < $num_fields; $i++) {
    $headers[] = strtoupper(mysql_field_name($result , $i));
}

// Filename with current date
$current_date = time();
$filename = "Urinalysis-Report-" . $current_date . ".csv";

// Open php output stream and write headers
$fp = fopen('php://output', 'w');
if ($fp && $result) {
    header('Content-Type: text/csv');
    header('Content-Disposition: attachment; filename='.$filename);
    header('Pragma: no-cache');
    header('Expires: 0');
    echo "Urinalysis-Report\n\n";
    // Write mysql headers to csv
    fputcsv($fp, $headers);
    $row_tally = 0;
    // Write mysql rows to csv
    while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
        $row_tally = $row_tally + 1;
        echo $row_tally.",";
        fputcsv($fp, array_values($row));
    }
    die;
}

显示(缩短):

tblID | userID | test1 | etc more columns
  1   |   10   | test  | etc

我有两张桌子。 1表示测试,1表示用户。 我需要的是userID值从用户表更改为正确的值。 所以它看起来像

tblID | userID | test1 | etc more columns
  1   | John   | test  | etc

鉴于John在用户表上是#10。

希望我能清楚地解释清楚:)

提前感谢您的帮助。

0 个答案:

没有答案