我正在处理一个PHP代码,该代码读取同一文件夹中的.csv文件并在html中打印一个表。 由于文件包含很多行,我想将表限制为特定的行数(例如50)。 我真的不知道该怎么做,任何人都可以像我一样帮助新手吗?
<?php
$row = 1;
if (($handle = fopen("myfile.csv", "r")) !== FALSE) {
echo '<table border="1">';
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
$num = count($data);
if ($row == 1) {
echo '<thead><tr>';
}else{
echo '<tr>';
}
for ($c=0; $c < $num; $c++) {
if(empty($data[$c])) {
$value = " ";
}else{
$value = $data[$c];
}
if ($row == 1) {
echo '<th>'.$value.'</th>';
}else{
echo '<td>'.$value.'</td>';
}
}
if ($row == 1) {
echo '</tr></thead><tbody>';
}else{
echo '</tr>';
}
$row++;
}
echo '</tbody></table>';
fclose($handle);
}
?>
答案 0 :(得分:1)
你要做的是传入一个GET参数,比如start,然后用它来设置for循环的起始编号
for ($c=0; $c < $num; $c++) {
然后变成类似
的东西for ($c=$_GET['start']; $c < $_GET['start']+50 && $c < $num; $c++) {
然后在页面底部添加像
这样的链接<a href="<?=$_SERVER['PHP_SELF']?>?start=<?=$_GET['start']-50 ?>">"><< Prev</a>
<a href="<?=$_SERVER['PHP_SELF']?>?start=<?=$_GET['start']+50 ?>">">Next >></a>
显然这不是一个强大/安全的解决方案,你需要添加检查以确保起始变量是一个数字,并添加边界检查。
答案 1 :(得分:1)
您可以使用$row
的值来限制它。
代码看起来像这样:
if ($row == 50):
break; //exits while loop
endif;