【问题标题】:TCPDF - printing table from mysql showing repeated first rowTCPDF - 来自 mysql 的打印表显示重复的第一行
【发布时间】:2012-03-31 18:55:03
【问题描述】:

我是 TCPDF 的新手。我面临的一个小问题是所有输出数据都显示同一行。我的意思是第一条记录重复数据库中存在的总数据(行)的次数。这是我的代码

$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, '');

这可能是我缺少的一个愚蠢的小细节,因为我的 php/mysql 技能不是那么好。任何帮助将不胜感激,在此先感谢:)

【问题讨论】:

    标签: php mysql tcpdf


    【解决方案1】:

    $p_title 来自哪里? $row_Pro_Record 是包含您的行数据的变量。所以在你的桌子里面你应该有类似的东西

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

    其中title 是列的名称,而不是

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

    阅读mysql_fetch_assoc docs,它显示了一个很好的循环结果示例:

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

    【讨论】:

    • 嗨@ManseUK $p_title = $row_Pro_Record['product_title'];我之前已经声明过。问题是记录在正常的php页面中正确显示,但在生成pdf时只显示第一个重复的记录:/我被卡住了
    • @JunaidHassan 包含您的完整代码-您上面的内容不起作用-循环实际上没有循环任何内容-因为循环内的变量保持静态...
    • 感谢您的 cmets。这是我的完整代码pastebin.com/BJ3UPFE5
    • @JunaidHassan 你需要完全按照我在我的问题中所说的去做 - 你没有使用 $row_Pro_record 变量,每次循环循环时都会改变......阅读我的答案中链接的文档
    • 谢谢@ManseUK,我明白了!你是对的,我传递的值是静态的,当我使用 $row_Pro_Record['title'] 它显示所有记录。非常感谢,我需要提高我的 php/mysql 技能,哈哈。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    • 2013-12-31
    • 2014-03-19
    相关资源
    最近更新 更多