我目前创建了一个可以生成从 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条经验 获得超4个赞
您需要在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 关注
- 85 浏览
添加回答
举报
0/150
提交
取消