特定行数后的分页符

时间:2016-03-07 02:36:17

标签: php html

我正在开发一个凭证打印应用程序,它可以从MySQL表中打印序列号和引脚,并将它们显示在页面中。

php代码每行显示两条记录。它们位于一个单独的列中,即两列并排显示 由于页面的格式(每行两个记录)..我不能在单独的表中显示每个记录。相反,所有记录都包含在" general"表

凭证打印需要在每页上显示两行。

我实施了一个" page-break-after:always"每行的样式不能分为两行,但分页符不显示。我的代码如下所示:

        $aray=array();
  while($row=mysqli_fetch_array($sql_res))
  { 
 $aray[]=$row;
  }
$nr_elm=count($aray);
$table='<table width=100%><tr>';
$nr_col=2;
if($nr_elm>0)
{ 
$p=1;//This is the row counter
for($i=0;$i<$nr_elm;$i++)
{

    $table.='<td><div  style="border: 2px dashed #000;" ><div id="image" style="float:left;">
   '.$p.' <img src="crswb1.png" height=80 width=60 />
</div><div id="texts" style="  float: none;
margin-left:60px;"> 
   <p>&nbsp;Amount:'.$aray[$i]['amount'].' </p><p>&nbsp; Pin:17263648409</p><p>&nbsp; Serial:5374748548
</div></div></td>';

$col_to_add=($i+1)%$nr_col;
if($col_to_add==0)
{
    if($p % 2 == 0) {

      $table.="<tr style='page-break-after:always'>";

    }

    $table.='</tr><tr>';
    $p++;
            }
}

}

$table.='</tr></table>';
$table=str_replace('<tr></tr>','',$table);
echo $table;
     ?>

我查看了网页来源和&#34;分页符&#34;样式显示为必要的行,如下所示

 <tr style='page-break-after:always'></tr><tr><td><div  style="border: 2px dashed #000;" ><div id="image" style="float:left;">
   3 <img src="crswb1.png" height=80 width=60 />
</div><div id="texts" style="  float: none;

如何确保显示分页符,以便每页只能打印两行?..谢谢。

1 个答案:

答案 0 :(得分:0)

页面的格式不会阻止您为每两个值使用一个表。例如。使用以下HTML代码:

<table id="table1">
  <tr>
    <td>This is cell No. 1 in Table 1</td>
    <td>This is cell No. 2 in Table 1</td>
  </tr>
</table>
<table id="table1">
  <tr>
    <td>This is cell No. 1 in Table 2</td>
    <td>This is cell No. 2 in Table 2</td>
  </tr>
</table>

以及以下CSS代码:

@media print {
    table {page-break-after: always;}
    /* prevent blank page at end */
    table:last-of-type {page-break-after: auto;}
}

/* If you want the fields on one line */
table, tr {
    width: 100%;
    /* If the fields still don't fit on one line
     * make the font-size smaller */
    font-size: 0.9em
}

每页打印一个table。请注意,即使是最后一个表也会导致分页。 为了看到这项工作,我准备了codepen here。打开codepen并尝试打印页面。您应该在其自己的页面上看到每个table