Мне нужно создать pdf-документ, который выводит все строки из таблицы mysql, но в приведенном ниже коде он выводит только одну последнюю строку из этой таблицы. У кого-то есть время, чтобы проверить мой код и предложить мне коррекцию, или у кого-то есть лучший код для такого отчета?Как вывести содержимое таблицы mysql в pdf с помощью tcpdf?
1
A
ответ
2
Ответ на мой вопрос правильно ответил на вопрос ответил под следующую ссылку: TCPDF - printing table from mysql showing repeated first row
Код находится здесь:
0
Один из способов сделать это:
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>
}
+0
Я использовал как первое, так и второе решение и всегда давал мне то же самое последнее сырье из таблицы – mdakic
0
$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');
Ответ на мой вопрос правильно ответил на вопрос answerd по следующей ссылке: http://stackoverflow.com/questions/9716803/tcpdf-printing-table-from-mysql-showing-repeated-first -row – mdakic