2017-01-05 5 views
1

データベースmysqlからデータを取得するdompdfを作成しました。しかし、私の問題は、各ユーザーのデータが19トランザクションを超える場合、どのようにページを繰り返すのかです。dompdfで複数のページを作成する方法

<?php 
define('WP_USE_THEMES', false); 
define('COOKIE_DOMAIN', false); 
define('DISABLE_WP_CRON', true); 
require('wp-load.php'); 

global $current_user; 
get_currentuserinfo(); 

$d = $current_user->user_login; 

// include autoloader 
require_once 'dompdf/autoload.inc.php'; 

// reference the Dompdf namespace 
use Dompdf\Dompdf; 

// instantiate and use the dompdf class 
$dompdf = new Dompdf(); 

$html = '<html><body>'. 
     '<p>Date | Details </p>'; 

$ff = $wpdb->get_results("SELECT * FROM table WHERE dd = '$d' ORDER by tdate"); 
    foreach ($ff as $jj) { 
    $html = '<p>'.$jj->tdate.' | '.$jj->details.'</p>'; 
    } 

$html .= ''</body></html>'; 

$dompdf->loadHtml($html); 

// (Optional) Setup the paper size and orientation 
$dompdf->setPaper('A4', 'landscape'); 

// Render the HTML as PDF 
$dompdf->render(); 

// Output the generated PDF to Browser 
//$dompdf->stream(); 

// Output the generated PDF (1 = download and 0 = preview) 
$dompdf->stream("codex",array("Attachment"=>0)); 

今のところ、1ページだけで問題なく動作しますが、各ユーザーのデータが19を超えると、ページが破損する可能性があります。ページあたり19件の取引を設定したいと思います。

Outout

がここに誰も私を助けることができる:

ところで、このような出力の外観をサンプリング?

ありがとうございました。

+0

dompdfはページングを自動的に行います。あなたがページ区切りを強制したいのであれば、CSSで/ page-break-before:always;またはpage-break-after:always;で要素をスタイリングすることでそれを行うことができます。これがあなたに役立つことを願って –

+0

@PunitGajjarしかし、それは私が推測した画像のようには見えません。出力を追加したことを確認してください。 – rolex

+0

要素にインラインCSSを与えていますか? ? –

答えて

0

はあなたのコードにこのコードを実装し、この

$start = '<html><body>'; 
$body = '<p>Date | Details </p>'; 
$ff = $wpdb->get_results("SELECT * FROM table WHERE dd = '$d' ORDER by tdate"); 
    foreach ($ff as $jj) { 
    $body .= '<p>'.$jj->tdate.' | '.$jj->details.'</p>'; 
    } 
$end= '</body></html>'; 
$dompdf->loadHtml($start.$body.$body.$end); 

を試してみてください。

関連する問題