O código que você forneceu usa o loop para salvar os dados no arquivo CSV. Como você não precisa salvá-lo em um arquivo, precisará substituir esse loop por algumas linhas de impressão de código em sua saída.
De acordo com o seu código, você precisa substituir esta peça
$fp = fopen('books.csv', 'w');
while($row = mysqli_fetch_assoc($result))
{
fputcsv($fp, $row);
}
com por exemplo este
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>';
}