MySQL / FPDF:如何按PDF中的每一页限制数据

时间:2019-12-04 07:53:57

标签: php mysql fpdf

我目前正在创建一个可以从MySQL生成PDF报表的系统。我使用FPDF库。 现在,我想在每个页面上以一个限制显示数据。例如,如果我有100行数据,我想这样显示:

1)第一个PDF页面将仅显示8个数据 2)其他页面将显示10个数据

有人可以帮助我吗?

list<pair<CString, CString>*> listSubstStr;
for (std::list<pair<CString, CString>*>::iterator it = listSubstStr.begin(); it != listSubstStr.end(); ++it) {
      CxXML* p = pRoot->AddTag(NOWKT("Pair"));
      p->SetString("First", it->first);
      p->SetString("Second", it->second);
   }

1 个答案:

答案 0 :(得分:2)

您需要在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)-是吗?请记住,每次添加新页面时都需要再次渲染该标头。理想情况下,您可以将页面标题代码提取到一个单独的函数中。