Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie rufe ich Daten aus einer Datenbank ab, um sie im CSV-Format auf einer Webseite anzuzeigen?

Der von Ihnen bereitgestellte Code verwendet die Schleife, um Daten in einer CSV-Datei zu speichern. Da Sie es nicht in einer Datei speichern müssen, müssen Sie diese Schleife durch Code ersetzen, der Zeilen auf Ihrer Ausgabe ausgibt.

Gemäß Ihrem Code müssen Sie diesen Teil ersetzen

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

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

mit zum Beispiel diesem

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>';
}