sql >> Databasteknik >  >> RDS >> Mysql

Hur hämtar man data från databasen för att visa den i csv-format på en webbsida?

Koden du angav använd loopen för att spara data i CSV-fil. Eftersom du inte behöver spara den i en fil så måste du ersätta den här slingan med några kodutskriftsrader på din utdata.

Enligt din kod måste du byta ut denna del

$fp = fopen('books.csv', 'w');

while($row = mysqli_fetch_assoc($result))
{
    fputcsv($fp, $row);
}

med till exempel detta

while($row = mysqli_fetch_assoc($result)) { 
    //we need to split your message into array
    $csvRows = explode("\n", $row['message']);

    $head = [];
    if (array_key_exists(0, $csvRows)) {
        $head = explode(' ', trim($csvRows[0]));
    }

    $data = [];
    for ($i = 1; $i < count($csvRows); $i++) {
        $data[] = explode(' ', trim($csvRows[$i]));
    }

    //print recognized headers
    echo '<table width="100%"><tr>';
    foreach ($head as $h) {
        echo "<th>{$h}</th>";
    }
    echo '</tr>';

    //print your csv row as table row
    foreach ($data as $r) {
        echo '<tr>';
        foreach ($r as $v) {
            echo "<td>{$v}</td>";
        }
        echo '</tr>';
    }
    echo '<table>';
}



  1. Kan PostgreSQL utföra en koppling mellan två lagrade SQL Server-procedurer?

  2. Hur anropar jag en Oracle-lagrad procedur från ett Excel VBA-skript?

  3. Hur man hittar skillnaden mellan två datum i MySQL

  4. SET DATEFIRST – Ställ in den första dagen i veckan i SQL Server