PHP CSV показывает в таблице

Я хочу показать этот файл CSV так же, как на картинке, но затем на PHP.
Прямо сейчас я знаю, как показать это, если бы они все были под «А»,
но я застрял на том, как показать это с более чем одной ячейкой.

<?php
echo "<table border='1'>";
if (($handle = fopen("top10.csv", "r")) !== FALSE) {
$data = fgetcsv($handle, 0, ",");
while (($data = fgetcsv($handle, 0, ",")) !== FALSE) {
echo "<tr>";
$num = count($data);
for ($i=0; $i < $num; $i++) {
echo"<td>" . $data[$i] . "<br /> </td>";
}
echo "</tr>";
}
fclose($handle);
}
?>

Вот как я это сделал с 2 рядами.

Образ:

введите описание изображения здесь

Результат прямо сейчас:

0

Решение

Вы можете использовать SplFileObject который может разобрать CSV файлы. Например:

$file = new SplFileObject("/path/to/your/csv/file.csv");
$file->setFlags(SplFileObject::READ_CSV);
$rows = "";
foreach ($file as $row) {
list ($a, $b, $c, $d, $e, $f, $g, $h, $i, $j, $k, $l) = $row;

$rows .= <<<HTML
<tr>
<td>${a}</td>
<td>${b}</td>
<td>${c}</td>
<td>${d}</td>
<td>${e}</td>
<td>${f}</td>
<td>${g}</td>
<td>${h}</td>
<td>${i}</td>
<td>${j}</td>
<td>${k}</td>
<td>${l}</td>
</tr>
HTML;
}

echo "<table>".$rows."</table>";

PHP документация

0

Другие решения

Вы читаете файл 2 раза в своем коде:

$data = fgetcsv($handle, 0, ",");// 1st  (just remove this line)
while (($data = fgetcsv($handle, 0, ",")) !== FALSE) { // 2nd

и другое решение
попробуй это:

echo "<table border=\"1\">";
$row=@explode("\n",@file_get_contents('test.csv'));
if(count($row)>0) foreach($row as $r){
$col=@explode(",",$r);
echo "<tr>";
foreach($col as $c){
echo "<td>$c</td>";
}
echo "</tr>";
}
echo "</table>";
0

По вопросам рекламы [email protected]