我目前创建了一个可以生成从 MySQL 到 PDF 的报告的系统。我使用 FPDF 库。现在我想在每一页上按限制显示数据。例如,如果我有 100 行数据,我想这样显示:1) 第一个 PDF 页面将只显示 8 个数据 2) 其他页面将显示 10 个数据谁能帮我?  <?php  require('mem_image.php');  require_once "../../config/config.php";  require_once "../../config/check.php";  $email = $_SESSION['login_user'];  $team = $_SESSION['team'];  $pdf = new PDF_MemImage();  $pdf->AddPage();  $pdf->Cell(10,7,'',0,1);  $pdf->SetFont('Arial','B',12);  $pdf->Cell(0,10,'Project Team Overtime Report',1,1,"C");  $pdf->SetFont('Arial','',10);  $pdf->Cell(20,10,'Team:',1,0);  $pdf->SetFont('Arial','B',11);  $user2 = mysqli_query($conn, "SELECT * FROM users WHERE email = '$email'");  while ($row = mysqli_fetch_array($user2)){    $pdf->Cell(170,10,$row['fullname'],1,1);   }  $pdf->SetFont('Arial','',10);  $pdf->Cell(0,10,'Workers Name:',1,1,"C");  $pdf->SetFont('Arial','B',10);  $pdf->Cell(20,7,'Badge ID',1,0);  $pdf->Cell(170,7,'Fullname',1,1);  $pdf->SetFont('Arial','',10);  $user = mysqli_query($conn, "SELECT * FROM users INNER JOIN team on users.team_id = team.team_id WHERE users.team_id = '$team' AND (users.roles_id = 3 OR users.roles_id = 4)");    while ($row = mysqli_fetch_array($user)){        $pdf->Cell(20,7,$row['badgeid'],1,0);        $pdf->Cell(170,7,$row['fullname'],1,1);     }
                    
                    
                1 回答
 
                    
                    
                            收到一只叮咚
                            
                                
                            
                        
                        
                                                
                    TA贡献1821条经验 获得超5个赞
您需要在while循环中使用计数器,因此它的工作方式如下:
$count = 0;
while ($row = mysqli_fetch_array($user3)){
/* put your row rendering code here */
/* ... */
if ((($count - 8) % 10) === 0) {
$pdf->AddPage();
/* put any page headers or footers here */
}
$count++;
}
这样,您将在 8、18、28 行等之后有一个新页面。
我认为您有一些数据(如标题)需要在每一页(全名、徽章 ID)上重复 - 对吗?请记住,每次添加新页面时都需要再次呈现该标题。理想情况下,您会将页眉代码提取到单独的函数中。
- 1 回答
- 0 关注
- 116 浏览
添加回答
举报
0/150
	提交
		取消
	