我是 PHP 新手,并尝试使用分页选项在我的网页中以表格格式显示 CSV 数据。这是我到目前为止的代码。
<?php
$names = file('demo.csv');
$page = $_GET['page'];
$pagedResults = new Paginated($names, 20, $page);
echo "<table border='2' bgcolor='#fbd998' style='float:center; margin:20'>";
//when $row is false loop terminates
while ( $row = $pagedResults->fetchPagedRow())
{
echo "<tr><td>";
$row1 = str_replace( ',', "</td><td>", $row );
echo $row1;
echo "</td></tr>";
}
echo "</table>";
//important to set the strategy to be used before a call to fetchPagedNavigation
$pagedResults->setLayout(new DoubleBarLayout());
echo $pagedResults->fetchPagedNavigation();
?>
问题是,除了第一页,我无法显示 CSV 标题信息。为了避免这种情况,我使用处理程序从 CSV 文件(包含标题信息)中单独提取第一行。我在 while 循环之前添加了以下代码。
if (($data = fgetcsv($handle, 1000, ',')) !== FALSE)
{
}
echo "<table border='2' bgcolor='#fbd998' style='float:center; margin:20'>";
echo '<tr><th>'.implode('</th><th>', $data).'</th></tr>';
除了在第一页中,我有两次 CSV 标头之外,此策略似乎在所有页面中都运行良好。例如,我当前的第一页如下所示。
- 列 1 列 2 列 3
列 1 列 2 列 3
我的其余数据
有人可以指导我如何解决这个问题吗?