在php中以pdf格式将2个查询呈现到2个单独的表中

在php中以pdf格式将2个查询呈现到2个单独的表中,php,mysql,Php,Mysql,我有一段代码,可以将mysql数据库中的查询数据呈现为pdf格式。我希望数据显示在同一个pdf中的两个表中。我的代码正在执行所有这些操作,但它将表呈现为一个,两个表之间没有空格。我怎样才能把这些桌子分开 以下是表的呈现方式: 这是我的密码: <?php if ( isset($_GET["pdf"]) && isset($_GET['payment_request_id'])

我有一段代码,可以将mysql数据库中的查询数据呈现为pdf格式。我希望数据显示在同一个pdf中的两个表中。我的代码正在执行所有这些操作,但它将表呈现为一个,两个表之间没有空格。我怎样才能把这些桌子分开

以下是表的呈现方式:

这是我的密码:

<?php

    if
        (
            isset($_GET["pdf"]) &&
            isset($_GET['payment_request_id'])
        )
    {
        require_once 'pdf.php';
        include('database_connection.php');
        include('function.php');
//-------------------------------------------------------------------------------------------------------------------------------
        $output = '';
        $statement = $connect->prepare
            (
                "
                    SELECT
                        *
                    FROM
                        tbl_payment_request
                    WHERE
                        payment_request_id = :payment_request_id
                    LIMIT 1
                "
            )
        ;
        $statement->execute
            (
                array
                    (
                        ':payment_request_id'       =>  $_GET["payment_request_id"]
                    )
            )
        ;
        $result = $statement->fetchAll();
        foreach($result as $row)
        {
            //Payment Details Table Rendering ------------------------------------------------------------------------------------------------
            $output .=
                '
                    <table width="100%" border="1" cellpadding="5" cellspacing="0">

                        <tr>
                            <th>Payment Description</th>
                            <th>Vehicle Reg</th>
                            <th>Ref Number</th>
                            <th>Amount</th>
                        </tr>
                '
            ;
            $statement = $connect->prepare
                (
                    "
                        SELECT
                            *
                        FROM
                            tbl_payment_details
                        WHERE
                            payment_request_id = :payment_request_id
                    "
                )
            ;
            $statement->execute
                (
                    array
                    (
                        ':payment_request_id'       =>  $_GET["payment_request_id"]
                    )
                )
            ;
            $payment_details_result = $statement->fetchAll();
            $count = 0;
            foreach($payment_details_result as $sub_row)
            {
                $count = $count + 1;
                $output .=
                    '
                            <tr>
                                <td>'.$sub_row["payment_description"].'</td>
                                <td>'.$sub_row["reg_number_id"].'</td>
                                <td>'.$sub_row["ref_number"].'</td>
                                <td>'.$sub_row["ref_amount"].'</td>
                            </tr>
                    '
                ;
            }

            $output .=
                '
                    <br/>
                    <br/>
                    <br/>
                '
            ;

            //Cost Sharing Table Rendering ------------------------------------------------------------------------------------------------
            $output .=
                '
                    <table width="100%" border="1" cellpadding="5" cellspacing="0">

                        <tr>
                            <th>CRS/Site</th>
                            <th>Protocol</th>
                            <th>Budget Class</th>
                            <th>Amount</th>
                        </tr>
                '
            ;

            $statement = $connect->prepare
                (
                    "
                        SELECT
                            *
                        FROM
                            tbl_cost_sharing
                        INNER JOIN
                            tbl_crs_site ON tbl_crs_site.crs_site_id = tbl_cost_sharing.crs_site_id
                        INNER JOIN
                            tbl_protocol ON tbl_protocol.protocol_id = tbl_cost_sharing.protocol_id
                        LEFT JOIN
                            tbl_funding_source ON tbl_funding_source.funding_source_id = tbl_protocol.funding_source_id
                        INNER JOIN
                            tbl_budget_class ON tbl_budget_class.budget_class_id = tbl_cost_sharing.budget_class_id
                        WHERE
                            payment_request_id = :payment_request_id
                    "
                )
            ;
            $statement->execute
                (
                    array
                        (
                            ':payment_request_id'       =>  $_GET["payment_request_id"]
                        )
                )
            ;
            $cost_sharing_result = $statement->fetchAll();
            $count = 0;
            foreach($cost_sharing_result as $sub_row)
            {
                $count = $count + 1;
                $output .=
                    '
                            <tr>
                                <td>'.$sub_row["crs_site_name"].'</td>
                                <td>'.$sub_row["protocol_name"].'</td>
                                <td>'.$sub_row["budget_class_name"].'</td>
                                <td>'.$sub_row["cost_sharing_amount"].'</td>
                            </tr>
                    '
                ;
            }

        }
//-------------------------------------------------------------------------------------------------------------------------------
        $pdf = new Pdf();
        $file_name = 'PRF#'.$row["payment_request_id"].'.pdf';
        $pdf->loadHtml($output);
        $pdf->render();
        $pdf->stream($file_name, array("Attachment" => false));
    }

?>

我最终通过替换代码的这一部分解决了这个问题

            $output .=
                '
                    <br/>
                    <br/>
                    <br/>
                '
            ;
$output=
'



' ;

$output=
'

' ;
表之间的

有帮助吗?上次显示$output时,我已将此设置为

,但它没有改变如何显示$output?echo$output或print$output所以您的实际问题是生成了无效的HTML(没有正确关闭表)。如果代码的结构更好,这一点会更加明显:首先,从数据库中获取数据;然后,在必要时使用它进行计算;然后,将数据格式化为HTML。
            $output .=
                '
                    </table>
                    <br/>
                '
            ;