如何在php的新页面上开始一个新的报告


how to start a new report on a new page in php

你好,我有一个表格,由三个部分组成,即字母部分,细节部分和笔记部分我能够打印信件报告,但现在我想在新的页面上开始新的报告,我的意思是当用户试图打印报告时,信件部分应该在一个页面上,而细节部分应该在一个新页面上,所有页面都是A4纸,有人能帮我吗?我只是想知道如何使用而与表例如。

<?php
echo "table";
while($row= mysql_fetch_array($result)){
echo "<tr>";
echo "<td>$row[data1]</td>";
echo "<td>$row[data2]</td>";
echo "</tr>";
}
echo "</table>";
?>

在表开始标签中使用page-break-before: always CSS,即

echo '<table style="page-break-before: always">';

旁注: MDN建议它应该被break-before取代(参见参考链接),但我不建议,因为几乎没有浏览器支持这个新的CSS3属性。

注。我想第一行应该是echo "<table>";,对吧?

参考:page-break-brefore on MDN

的例子:

<?php
echo '<table style="page-break-before: always">';
while($row= mysql_fetch_array($result)){ // Do NOT use mysql_* functions! Use MySQLi / PDO instead
  echo '<tr style="margin-top: 20px;">';
  echo "  <td>$row[data1]</td>";
  echo "  <td>$row[data2]</td>";
  echo "</tr>";
}
echo "</table>";
?>

这可能会有帮助:

CSS分页符

@media all {
    .page-break { display: none; }
}
@media print {
    .page-break { display: block; page-break-before: always; }
}
使用

<h1>Page Title</h1>
<!-- content block -->
<!-- content block -->
<div class="page-break"></div>
<!-- content block -->
<!-- content block -->
<div class="page-break"></div>
<!-- content block -->
<!-- content -->