TCPDF只打印最后一行

问题描述:

下面的代码只打印最后一行,当我尝试回显表时,它给了我所有的行,但pdf只给出最后一行。请帮助TCPDF只打印最后一行

$tbl1 = '<table cellpadding="3" cellspacing="1" width="100%" style="text-align:center;" border="1"> 
<tr style="font-weight:500;"> 
<td height="35">Deal Id</td> 
<td>Deal Title</td> 
<td>Deal Offer Id </td> 
<td>No. Of Purchases</td> 
<td>Quantity</td> 
<td>Total Price</td> 
<td>Date</td> 
</tr>'; 
while($mwor_res1=mysql_fetch_array($mwor_qry5)){ 
    $tbl1.='<tr style="align="center"> 
    <td>'.$mwor_res1['deal_id'].'</td> 
    <td>'.$mwor_res1['title'].'</td> 
    <td>'.$mwor_res1['deal_offer_id'].'</td> 
    <td>'.$mwor_res1['count(ord_dt.deal_offer_id)'].'</td> 
    <td>'.$mwor_res1['sum(ord_dt.quantity)'].'</td> 
    <td>'.$mwor_res1['sum(ord_dt.total_price)'].'</td> 
    <td>'.$mwor_res1['order_date'].'</td> 
    </tr>'; 
} 
$tbl1.='</table>'; 

    $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 
    $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); 
    $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); 

    $pdf->AddPage(); 
    $pdf->writeHTML($tbl1, true, 0, true, 0); 
    $pdf->lastPage(); 
    $pdf->Output('Deal-wise-report.pdf', 'D'); 
+0

这将是很多行,但你可以共享的'$ tbl1'回声输出还是你已经检查它是否格式良好的?也许一些来自查询的值会破坏你的'$ tbl1'字符串。 – alalp

似乎你设置的指针到最后一页打印前:

$pdf->lastPage(); 

你的表的其余部分可能是在第一页上。

您可能希望打印所有页面或调整页面设置以使其适合一页。使用ob_start()

+0

如何将其设置为打印所有页面,我是这个tcpdf的新东西,请帮助我。 – Srikanta

+0

如果删除'$ pdf-> lastPage();'?会发生什么? –

+0

它给出了相同的结果,只显示最后一行。 – Srikanta

尝试使用此代码

<?php 
    $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 
    $pdf->SetCreator(PDF_CREATOR); 
    $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); 
    $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); 
    $pdf->AddPage(); 
    ob_start(); 
?> 
<table cellpadding="3" cellspacing="1" width="100%" style="text-align:center;" border="1"> 
    <tr style="font-weight:500;"> 
     <td height="35" align="center">Deal Id</td> 
     <td align="center">Deal Title</td> 
     <td align="center">Deal Offer Id </td> 
     <td align="center">No. Of Purchases</td> 
     <td align="center">Quantity</td> 
     <td align="center">Total Price</td> 
     <td align="center">Date</td> 
    </tr> 
<?php 
    while($mwor_res1=mysql_fetch_array($mwor_qry5)) 
    { 
?> 
    <tr> 
     <td align="center"><?php echo $mwor_res1['deal_id']; ?></td> 
     <td align="center"><?php echo $mwor_res1['title']; ?></td> 
     <td align="center"><?php echo $mwor_res1['deal_offer_id']; ?></td> 
     <td align="center"><?php echo $mwor_res1['count(ord_dt.deal_offer_id)']; ?></td> 
     <td align="center"><?php echo $mwor_res1['sum(ord_dt.quantity)']; ?></td> 
     <td align="center"><?php echo $mwor_res1['sum(ord_dt.total_price)']; ?></td> 
     <td align="center"><?php echo $mwor_res1['order_date']; ?></td> 
    </tr> 
<?php 
    } 
?> 
</table> 
<?php 
    $tbl1 = ob_get_contents(); 
    ob_end_clean(); 
    $pdf->writeHTML($tbl1, true, false, true, false, ''); 
    $pdf->Output('Deal-wise-report.pdf', 'D'); 
?> 
+0

我越来越空白页,对于此代码 – Srikanta

+0

我做了上述代码的一些变化,试着现在使用上面的代码 – PravinS

+0

Pravin,thnx为您的帮助..我必须把整个HTML在一个PHP变量,因为我已经显示我的代码,当我这样做的代码,你给了它给我两个空白页。 – Srikanta