Mysql
 sql >> Database >  >> RDS >> Mysql

Come recuperare i dati dal database per visualizzarli in formato csv su una pagina Web?

Il codice che hai fornito usa il ciclo per salvare i dati nel file CSV. Poiché non è necessario salvarlo in un file, è necessario sostituire questo ciclo con alcune righe di stampa del codice sul proprio output.

Secondo il tuo codice devi sostituire questa parte

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

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

con per esempio questo

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