0

我有一个来自 MySQL 的大型数据集,我正在使用 PHP 显示。如果用户尝试打印它,它有大约 50 页数据。

使用表格和echo-s在表格字段中显示数据的简单 PHP 显示整个数据。

我需要的是 - 当用户尝试在 Safari (Mac) 中打印或导出为 PDF 时,表格标题应出现在所有页面上。如何才能做到这一点?

谢谢

编辑:我已将表格标题附在下面,但它不起作用。这是一个没有脚本的纯 HTML 页面,只显示来自数据库的数据。

代码

echo "<table border='1'>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
<th></th>
<th colspan=13>Item Info</th>
<th colspan=4>Lot Info</th>
</tr>
<tr>
<th bgcolor='#C8E3FF'>S.No.</th>
<th bgcolor='#C8E3FF'>Party Name</th>
<th bgcolor='#C8E3FF'>Item No.</th>
<th bgcolor='#C8E3FF'>Date</th>

<th>Flower</th>

<th bgcolor='#C8E3FF'>Lot No.</th>
<th bgcolor='#C8E3FF'>Avg Wt.</th>
<th bgcolor='#C8E3FF'>Total Weight</th>
<th bgcolor='#C8E3FF'>Detail Page</th>
</tr></thead><tfoot></tfoot><tbody>";

    echo "<tr>";
    echo "<td bgcolor='#C8E3FF' rowspan=".$itemCounter.">".$sno."</td>";
    echo "<td bgcolor='#C8E3FF' rowspan=".$itemCounter.">".$row['partyName']."</td>";

    while($row2 = mysqli_fetch_array($itemquery))
    {
        $itemNo++;
        echo "<td bgcolor='#C8E3FF'>".$itemNo."</td>";
        echo "<td bgcolor='#C8E3FF'>".$row2['date']."</td>";


            //$flower = $flower + $row2['flower'];
            echo "<td>".$row2['flower']."</td>";



        echo "<td  bgcolor='#C8E3FF'>".$row2['lotno']."</td>";
        echo "<td bgcolor='#C8E3FF'>".$row2['avgwt']."</td>";
        if ($row2['totalWeight'] == 0)
        {
            echo "<td  bgcolor='#C8E3FF'> </td>";
        }
        else{
            $totalWt = $totalWt + $row2['totalWeight'];
            echo "<td  bgcolor='#C8E3FF'>".$row2['totalWeight']."</td>";    
        }

        echo "<td  bgcolor='#C8E3FF'>".$row2['detailPage']."</td>";
        echo "</tr>";
    }
    echo "<td bgcolor='#C8E3FF'><b>Total</b></td>";


    echo "<td><b>".$flower."</b></td>";



        echo "<td bgcolor='#C8E3FF'></td>";
        echo "<td bgcolor='#C8E3FF'></td>";

            echo "<td bgcolor='#C8E3FF'><b>".$totalWt."</b></td>";  

        echo "<td  bgcolor='#C8E3FF'></td>";
        echo "</tr>";
        echo "<tr></tr><tr></tr><tr></tr><tr></tr><tr></tr>";

}
echo "</tbody></table>";
4

1 回答 1

2

据我所知,如果您正确使用表中的 THEAD 部分,则该标题将在每一页上重复。

http://www.w3.org/TR/html4/struct/tables.html#h-11.2.3

http://www.w3schools.com/tags/tag_thead.asp添加:

定义和使用

该标记用于对 HTML 表中的标题内容进行分组。

该元素与 和 元素一起使用来指定表格的每个部分(页眉、正文、页脚)。

浏览器可以使用这些元素来启用独立于页眉和页脚的表格正文滚动。此外,当打印跨多页的大表格时,这些元素可以使表格页眉和页脚打印在每页的顶部和底部。

该标记必须在以下上下文中使用:作为元素的子元素,在任何 、 和 元素之后,以及任何 、 和 元素之前。

于 2013-10-16T08:36:38.453 回答