【问题标题】:FPUTCSV put an array with for loopFPUTFCSV 放置一个带有 for 循环的数组
【发布时间】:2018-03-19 13:04:11
【问题描述】:

嘿,我正在尝试用我的数组中的值填充 csv。我该怎么做?

$sql = "SELECT accountNumber, Name,studentManager,contract,
            nationality,university,major,Course,specialNotes,
            Phone,email,birthday,uniAddress 
        FROM " . $dbname . " 
        WHERE id ='$id'";

$query2 = mysqli_query($conn, $sql);
$thisArray = mysqli_fetch_all($query2, MYSQLI_NUM);


header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=userData.csv");
$fp = fopen('php://output', 'w');
foreach ($thisArray[0] as $row3) {
    fputcsv($fp,$row3);
}

fclose($fp);

【问题讨论】:

  • 在您的foreach 中将$thisArray[0] 更改为$thisArray

标签: php mysql csv export-to-csv


【解决方案1】:

当您将数据检索到$thisArray 时,它会创建一个数组,其中每一行都是所有字段值的数组。因此,当您在以下行中使用 $thisArray[0] 时...

foreach ($thisArray[0] as $row3) {

这只会选取您检索到的数据的第一行。 $row3 将是每个单独的字段,fputcsv 期望它是一个数组。

只需将该行更改为

foreach ($thisArray as $row3) {

$row3 将是每一行数据。

(这样就有答案了)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 1970-01-01
    • 1970-01-01
    • 2020-03-02
    相关资源
    最近更新 更多