为什么我的桌子没有显示?

时间:2016-05-13 06:22:15

标签: php html csv html-table fgetcsv

我的网站遇到了一些问题。它使用嵌入式PHP的HTML。我有一个计划页面,它从CSV文件中提取信息并将其显示为网站上的表格,以便更新计划,但由于某些原因它无法正常工作。这是代码(我删除了不重要的东西)。

SalariedWorker sw = (SalariedWorker) Worker1.get(0);
sw.getSalary(salary);

然而,当我尝试打开网页时,我得到的是:

<html>
<head>
</head>
<body>
<table>
<?php
     $f = fopen("schedule.csv", "r");
     while (($line = fgetcsv($f)) !== false)
     {
          $row = $line[0]; // We need to get the actual row (it is the first element in a 1-element array)
          $cells = explode(";",$row);
          echo "<tr>";
          foreach ($cells as $cell)
          {
               echo "<td>" . htmlspecialchars($cell) . "</td>";
          }
          echo "</tr>\n";
     }
     fclose($f);
?>
</table>
</body>
</html>

我无法判断我是否错过了标点符号或什么。我基本上把它从另一个程序员推荐给别人的网站上复制了,所以我不知道出了什么问题。

2 个答案:

答案 0 :(得分:2)

尝试使用此代码:

 $f = fopen("schedule.csv", "r");
 while (($line = fgetcsv($f)) !== false)
 {
      echo "<tr>";
      foreach ($line as $cell)
      {
           echo "<td>" . htmlspecialchars($cell) . "</td>";
      }
      echo "</tr>";
 }
 fclose($f);

答案 1 :(得分:0)

使用单引号

<html>
<head>
</head>
<body>
<table>
<?php
     $f = fopen('schedule.csv', 'r');
     while (($line = fgetcsv($f)) !== false)
     {
          $row = $line[0]; // We need to get the actual row (it is the first element in a 1-element array)
          $cells = explode(';',$row);
          echo '<tr>';
          foreach ($cells as $cell)
          {
               echo '<td>' . htmlspecialchars($cell) . '</td>';
          }
          echo '</tr><br/>';
     }
     fclose($f);
?>
</table>
</body>
</html>