Я пытаюсь прочитать данные из файла CSV и отобразить их в таблице. Однако вместо отображения в нескольких столбцах все данные отображаются в одном столбце.
Сначала я создал форму и записал ввод в файл CSV следующим образом:
<?php
# save the form data in csv file
$myfile = fopen("data.csv", "a+");
foreach ($_POST as $key) {
fputcsv($myfile, explode(",", $key));
}
fclose($myfile);
?>
Затем я создал таблицу с использованием html и прочитал из файла следующим образом:
<div class="container">
<table>
<tr>
<th>Username</th>
<th>Email</th>
<th>Password</th>
</tr>
<?php
# read from the csv file
$f = fopen("data.csv", "r");
while (($line = fgetcsv($f)) !== false) {
echo "<tr>\n";
foreach ($line as $cell) {
echo "<td>" . htmlspecialchars($cell) . "</td>";
}
echo "</tr>\n";
}
fclose($f);
echo "\n</table>";
?>
</table>
</div>
Вот что я получаю в качестве вывода:
Как видите, все входные данные находятся в одном столбце, но я хочу, чтобы имя пользователя, адрес электронной почты и пароль были указаны в соответствующем столбце.