Junaid Hassan
Junaid Hassan

Reputation: 97

TCPDF - printing table from mysql showing repeated first row

I am new to TCPDF. The small problem that I am facing is that all output data is displaying the same row. I mean the first record is repeated the number of times the total data(rows) exist in the database. Here is my code

$tbl_header = '<style>
table {
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0 20px;
}
tr {
    padding: 3px 0;
}

th {
    background-color: #CCCCCC;
    border: 1px solid #DDDDDD;
    color: #333333;
    font-family: trebuchet MS;
    font-size: 30px;
    padding-bottom: 4px;
    padding-left: 6px;
    padding-top: 5px;
    text-align: left;
}
td {
    border: 1px solid #CCCCCC;
    font-size: 25px;
    padding: 3px 7px 2px;
}
</style>
<table id="gallerytab" width="600" cellspacing="2" cellpadding="1" border="0">
<tr>
        <th><font face="Arial, Helvetica, sans-serif">Products Title</font></th>
        <th><font face="Arial, Helvetica, sans-serif">Product Specs</font></th>
        <th><font face="Arial, Helvetica, sans-serif">Product Price</font></th>
        <th><font face="Arial, Helvetica, sans-serif">Products Image</font></th>
      </tr>';
$tbl_footer = '</table>';
$tbl = '';

while ($row_Pro_Record = mysql_fetch_assoc($Pro_Record)) {
$tbl .= '
    <tr>
        <td>'.$p_title.'</td>
        <td>'.$p_size.'</td>
        <td>'.$p_price.'</td>
        <td><img width="120"src="http://localhost/product/images/'.$c_name.'/'.$p_image.'.jpg"></td>
    </tr>
';
}
// output the HTML content
$pdf->writeHTML($tbl_header . $tbl . $tbl_footer, true, false, false, false, '');

It could be a small stupid detail that I am missing as my php/mysql skills aren't that great. Any help would be much appreciated, thanks in advance :)

Upvotes: 4

Views: 9075

Answers (1)

Manse
Manse

Reputation: 38147

Where is $p_title coming from ? $row_Pro_Record is the variable that contains your row data. So inside you table you should have something like

<td>'.$row_Pro_Record['title'].'</td>

where title is the name of the column, instead of

<td>'.$p_title.'</td>

have a read of the mysql_fetch_assoc docs it shows a nice example of looping over results :

while ($row = mysql_fetch_assoc($result)) {
    echo $row["userid"];
    echo $row["fullname"];
    echo $row["userstatus"];
}

Upvotes: 4

Related Questions