sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo recuperar datos de la base de datos para mostrarlos en formato csv en una página web?

El código que proporcionó usa el bucle para guardar datos en un archivo CSV. Debido a que no necesita guardarlo en un archivo, debe reemplazar este ciclo con algunas filas de impresión de código en su salida.

De acuerdo con su código, debe reemplazar esta pieza

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

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

con por ejemplo esto

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