簡體   English   中英

在PHP中跨頁面具有動態內容

[英]Have dynamic content span across pages in php

我有以下代碼可動態加載發票中的項目。 我正在尋找一種將多余的項目添加到新頁面的方法,依此類推。 我想將頁面上的項目數限制為一定數量,例如15個項目。 有沒有辦法在php中做到這一點? 下面的代碼在使用dompdf以頁面形式出現的文檔中

foreach ( $invoice['InvoiceDetail'] as $key=>$item){
        $html .= '<tr style="border-bottom: 1px solid #ccc; line-height: 15px;">';
            $itemNo = isset($item['product_id']) ? $item['product_id'] : '';
            $itemName = isset($item['productName']) ? $item['productName']: '';
            $price = isset($item['price']) ? invoiceNumFormat($item['price']): '';
            $quantity = isset($item['quantity']) ? $item['quantity'] : '';
            $total = invoiceNumFormat( $item['price']*$item['quantity']);

            $html .= '<td style="text-align: left"><h5>'.$itemNo.'</h5></td>';
            $html .= '<td style="text-align: left">'.$itemName.'</td>';
            $html .= '<td style="text-align: left">'.$price.'</td>';
            $html .= '<td style="text-align: left" width="10px">'.$quantity.'</td>';
            $html .= '<td style="text-align: right">'.$total.'</td>';
        $html .= '</tr>';
    }

動態范例

對於您的特定情況,您可以僅指示dompdf來中斷頁面,類似於:

$itemCount = 0;
foreach ( $invoice['InvoiceDetail'] as $key=>$item){
    $itemCount++;
    $html .= '<tr style="border-bottom: 1px solid #ccc; line-height: 15px;">';

        /* snip */

        if ($itemCount % 20 == 0) {
            $html .= '<tr><td><div style="page-break-before: always;"></div></td></tr>';
        }

        $html .= '<td style="text-align: left"><h5>'.$itemNo.'</h5></td>';
        $html .= '<td style="text-align: left">'.$itemName.'</td>';
        $html .= '<td style="text-align: left">'.$price.'</td>';
        $html .= '<td style="text-align: left" width="10px">'.$quantity.'</td>';
        $html .= '<td style="text-align: right">'.$total.'</td>';

    $html .= '</tr>';
}

Dompdf尚無法識別表行/單元格上的分頁符樣式。 否則,將樣式放在那里會更有意義。

這有幫助嗎?

<?php

$per_page = 20;

if ( $pagenum < 2 || !$pagenum ) {
    $limit_start = 0;
} else {
    $limit_start = (( $pagenum -1 ) * $per_page);
}

$sql = "select foo, bar, baz from table where $conditions limit $limit_start, $per_page";
$db->query( $sql ); //or whatever your method is

// while statement to get data into $invoice array

//foreach statement to display it

//pagination links

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM