【问题标题】:How to output mysql table content to pdf using tcpdf?如何使用 tcpdf 将 mysql 表格内容输出为 pdf?
【发布时间】:2012-03-04 04:53:47
【问题描述】:

我需要创建输出 mysql 表中所有行的 pdf 文档,但在下面附加的代码中,它只输出该表中的最后一行。有人有时间检查我的代码并建议我更正,还是有人有更好的代码来进行此类报告?

【问题讨论】:

标签: php mysql tcpdf


【解决方案1】:

我的问题的答案在以下链接下的问题中得到了正确回答:TCPDF - printing table from mysql showing repeated first row

代码在这里:

【讨论】:

  • 此处缺少代码。
【解决方案2】:

一种方法:

the while loop
(
  if($number_of_rows > 0) { 

    while($row = mysql_fetch_assoc($result)) 
    { 
        $RN = $row['rnBr']; 
        $Tvrtka = $row['formTvrtka']; 
        $Poslovnica = $row['formPoslovnica']; 
        $Datum = $row['formDatum'];
        $Izvrsio = $row['formIzvrsio'];
        $Kontakt = $row['formKontakt'];
        $Napomene = $row['formNapomene'];
        $Izdavatelj = $row['formIzdavatelj']; 
     } 
  }
)

需要下降到这里:

<tr>
    <td>$RN</td> 
    <td>$Datum</td>
    <td>$Izvrsio</td> 
    <td>$Tvrtka</td>
    <td>$Poslovnica</td>
    <td>$Napomene</td>
    <td>$Izdavatelj</td>
</tr>

所以你会得到类似的东西

if($number_of_rows > 0) { 

   while($row = mysql_fetch_assoc($result)) 
   { 
       echo '<tr>';
       echo '<td>'. $row['rnBr'].'</td>'; 
       echo '<td>'. $row['formTvrtka'].'</td>'; 
       echo '<td>'. $row['formPoslovnica'].'</td>';  
       echo '<td>'. $row['formDatum'].'</td>'; 
       echo '<td>'.  $row['formIzvrsio'].'</td>'; 
       echo '<td>'. $row['formKontakt'].'</td>'; 
       echo '<td>'. $row['formNapomene'].'</td>'; 
       echo '<td>'. $row['formIzdavatelj'].'</td>';  
    } 
 }

否则是的,您只输出查询找到的最后一行。

或者改变每一行,如:

$RN = $row['rnBr']; to $RN[$n] = $row['rnBr']; (with $n++ at the end of your loop and $n=0; before the loop

然后在底部输出时可以这样做:

for($u=0;$u<count($rn);$u++){
    <tr>
        <td>$RN[$u]</td> 
        <td>$Datum[$u]</td>
        <td>$Izvrsio[$u]</td> 
        <td>$Tvrtka[$u]</td>
        <td>$Poslovnica[$u]</td>
        <td>$Napomene[$u]</td>
        <td>$Izdavatelj[$u]</td>
    </tr>
}

【讨论】:

  • 我使用了第一个和第二个解决方案,并且总是给我相同的最后一个原始表格
【解决方案3】:
$db = mysql_connect($hostname, $db_user, $db_password);
mysql_select_db($database,$db);
$rnBr = mysql_real_escape_string(trim($_POST['rnBr']));  
$zahtjev = $_GET['rnBr'];
$upit = "SELECT * FROM radni where formDatum >= CURDATE() and formDatum < (CURDATE()+  interval 7 day) order by formDatum asc";
$result = mysql_query($upit);

require_once('../config/lang/hrv.php');
require_once('../tcpdf.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('XXXXX');
$pdf->SetTitle('TCPDF Radni nalog');
$pdf->SetSubject('TCPDF Radni nalog');
$pdf->SetKeywords('TCPDF, PDF, radni, nalog, ispis');

//set some language-dependent strings
$pdf->setLanguageArray($l);
// ---------------------------------------------------------
// set font
$pdf->SetFont('dejavusans', '', 14, '', true);
// add a page
$pdf->AddPage();

$tbl = <<<EOD
<table border=""  cellpadding="0" cellspacing="7" align="center" fontsize="14">
<tr>
<td></td><td><br /><br /><br /><br /></td>
</tr>
<tr>
<th colspan="2"><h1>Tjedni raspored djelatnika</h1></th>
</tr>
</table>
EOD;
$pdf->writeHTML($tbl, true, false, false, false, ''); 
$pdf->Ln();
$pdf->SetLineStyle(array('width' => 0.0, 'cap' => 'butt', 'join' => 'miter', 'dash' => 4, 'color' => array(255, 0, 0)));
$pdf->SetFillColor(255,255,128);
$pdf->SetTextColor(0,0,128);

$pdf->Ln();

$tbl = <<<EOD
<table border="1"  cellpadding="0" cellspacing="3" align="center" fontsize="12">
<tr>
<th colspan="1">Radni nalog:</th>
<th colspan="1">Datum:</th>
<th colspan="1">Izvršitelj:</th>
<th colspan="1">Tvrtka:</th>
<th colspan="1">Poslovnica:</th>
<th colspan="1">Napomena:</th>
<th colspan="1">RN izdao:</th>
</tr>
</table>
EOD;

$pdf->writeHTML($tbl, true, false, false, false, '');

$pdf->Ln();

$tbl = '<table border="1"  cellpadding="0" cellspacing="3" align="center" fontsize="10">';
 while($row = mysql_fetch_assoc($result)) {

  $tbl .="<tr>
<td>{$row['rnBr']}</td> 
<td>{$row['formDatum']}</td>
<td>{$row['formIzvrsio']}</td> 
<td>{$row['formTvrtka']}</td>
<td>{$row['formPoslovnica']}</td>
<td>{$row['formNapomene']}</td>
<td>{$row['formIzdavatelj']}</td>
</tr>";
 }

$tbl = '</table>';

$pdf->writeHTML($tbl, true, false, false, false, '');

// Set some content to print
$html = <<<EOD
<i>Ovaj popis generiran je računalnim programom!</i>
EOD;
$pdf->writeHTMLCell($w='', $h='', $x='', $y='', $html, $border=1, $ln=1, $fill=1, $reseth=true, $align='center', $autopadding=true);

// ---------------------------------------------------------
//Close and output PDF document
$pdf->Output('raspored_djelatnika.pdf', 'I');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-19
    • 1970-01-01
    • 2011-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多