0

PHP を使用して表示している MySQL からの大規模なデータセットがあります。ユーザーが印刷しようとすると、約 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 に答える