Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在下面的场景中,如何将表从php文件打印到TCPDF?_Php_Html_Mysql_Sql_Tcpdf - Fatal编程技术网

在下面的场景中,如何将表从php文件打印到TCPDF?

在下面的场景中,如何将表从php文件打印到TCPDF?,php,html,mysql,sql,tcpdf,Php,Html,Mysql,Sql,Tcpdf,我有一个php文件add_member.php。我正在通过执行SQL查询创建一个动态表。该文件的代码如下所示: $sql = SELECT * FROM member_details WHERE lname='ABC'; $n = new data(); $res = $n -> querySend($sql); ?> <table border="1" cellpadding="3" cellspacing="1"> <tr> &l

我有一个php文件add_member.php。我正在通过执行SQL查询创建一个动态表。该文件的代码如下所示:

$sql = SELECT * FROM member_details WHERE lname='ABC';

$n = new data();

$res = $n -> querySend($sql);

?>

<table border="1" cellpadding="3" cellspacing="1">
   <tr>
      <td align="center"></td>
      <td align="center">First Name</td>
      <td align="center">Last Name</td>
      <td align="center">Caste</td>
      <td align="center">Residence address</td>
      <td align="center">Education</td>
   </tr>
   <?php

       $i=1;

       while($row = mysql_fetch_array($res))
       { 
           $member_no = $row['member_no'];

           $total_member = "SELECT COUNT(*) AS total_member FROM family_member_details WHERE member_no =" .$member_no;

           $total_res = $n -> querySend($total_member);

           $row_total = mysql_fetch_array($total_res);        

          ?>

           <tr>
               <td align="center" rowspan="<?php echo $row_total['total_member']+1;?>"><?php echo $i;?></td>
               <td align="center"><?php echo $row['fname'];?></td>
               <td align="center"><?php echo $row['lname'];?></td>
               <td align="center"><?php echo $row['caste'];?></td>
               <td align="center"><?php echo $row['residence_addr'];?></td>
               <td align="center"><?php echo $row['education'];?></td>
           </tr>
           <?php 
                $family_sql = "SELECT * from family_member_details WHERE member_no = $member_no";
                $family_res = $n -> querySend($family_sql);

                while($row1 = mysql_fetch_array($family_res))
                {
                   ?>
                    <tr>
                        <td align="center"><?php echo $row1['name']?></td>
                        <td align="center"><?php echo $row1['name']?></td>
                        <td align="center"><?php echo $row1['name']?></td>
                        <td align="center"><?php echo $row1['name']?></td>
                        <td align="center"><?php echo $row1['name']?></td>
                    </tr>   
         <?php  }
                $i++; 
          } ?>
    </table>

现在,单击一个按钮,我想将相同的表创建为PDF文件。为此,我决定使用TCPDF库。但是我必须为TCPDF文件提供HTML内容。现在我的问题是如何从PHP文件中获取动态生成表的HTML,并将此内容写入文本文件?在这方面有人能帮我吗?任何帮助都将不胜感激

不用直接在浏览器页面上显示表格,只需将文本存储在变量中并回显它……然后就可以将变量发送到TCPDF库

$dyn_table = '<table border="1" cellpadding="3" cellspacing="1"><tr><td align="center">/td><th align="center">First Name</th><th align="center">Last Name</th><th align="center">Caste</th><th align="center">Residence address</th><th align="center">Education</th></tr>';

$i = 1;
while ($row = mysql_fetch_array($res)) {
    $member_no = $row['member_no'];
    $total_member = "SELECT COUNT(*) AS total_member FROM family_member_details WHERE member_no =" . $member_no;

    $total_res = $n->querySend($total_member);

    $row_total = mysql_fetch_array($total_res);

    $dyn_table .= '<tr><td align="center" rowspan="' . $row_total['total_member'] + 1 . '">' . $i . '</td><td align="center">' . $row['fname'] . '</td><td align="center">' . $row['lname'] . '</td><td align="center">' . $row['caste'] . '</td><td align="center">' . $row['residence_addr'] . '</td><td align="center">' . $row['education'] . '</td></tr>';

    $family_sql = "SELECT * from family_member_details WHERE member_no = $member_no";
    $family_res = $n->querySend($family_sql);

    while ($row1 = mysql_fetch_array($family_res)) {
        $dyn_table .= '<tr><td align="center">' . $row1['name'] . '</td><td align="center">' . $row1['name'] . '</td><td align="center">' . $row1['name'] . '</td><td align="center">' . $row1['name'] . '</td><td align="center">' . $row1['name'] . '</td></tr>';
    }
    $i++;
}
$dyn_table .= '</table>';
echo $dyn_table;
编辑 为了将这个html发布到您的TCPDF库中,我将使用AJAX来防止另一个页面请求/加载。我更喜欢使用,因为它大大简化了这个过程。以下是一种方法:

<input type="button" name="TCPDF" id="submitToTCPDF" />
<script type="text/javascript">
    var url = 'php/script/to/handle/post';
    var data = {'table_html': '<? echo $dyn_table; ?>'};

    $('#TCPDF').click(function(){
        $.ajax({
            type: "POST",
            url: url,
            data: data,
            success: function($result){
                // Do whatever after html is submitted


            }
        });
    });
</script>

您可以在中阅读更多信息。

假设在echo$dyn_表之后;然后,单击一个按钮,就可以将该var发送到tcpdf库。我更新了答案,以帮助说明如何执行AJAX请求,如答案底部的链接所示。