簡體   English   中英

從兩個 mysql 表中獲取數據並用 php 顯示它顯示的順序不正確

[英]Fetching data from two mysql tables and showing it with php is showing incorrect order

我有兩個結構如下表

交易表在此處輸入圖片說明

發票表格

在此處輸入圖片說明

我想把這兩個表的數據展示到前端的兩個表。 invoice_idcustomer_name形成替代表,按invoice_id排序。

兩個表之間的聯系是參考號,更接近的是amount_paidsubtotal

我有以下代碼:

$payment_reference = '71584705';



         $get_transaction_data = mysqli_query($link, "SELECT * FROM transactions WHERE reference_no ='$payment_reference' ORDER BY id ASC" ) or die(mysqli_error($link));
         $get_transaction_data_two = mysqli_query($link, "SELECT * FROM transactions WHERE reference_no = '$payment_reference' ORDER BY subtotal ASC" ) or die(mysqli_error($link));

        $get_invoice_data_details = mysqli_query($link, "SELECT * FROM invoicesq WHERE payment_payout_reference = '$payment_reference' ORDER BY invoice_id ASC");
        $get_transaction_data_one = mysqli_query($link, "SELECT * FROM transactions WHERE reference_no = '$payment_reference'") or die(mysqli_error($link));
        $get_invoice_data_one = mysqli_query($link, "SELECT * FROM invoicesq WHERE payment_payout_reference = '$payment_reference' ORDER BY invoice_id ASC");

         $transaction_details = mysqli_fetch_array($get_transaction_data_two);
        ?> 
    <strong>Correct PaySheet summary</strong>
        <table>
            <thead>
                <th>Invoice</th>
                <th>Customer</th>
                <th>Sub Total</th>
                <th>Tax</th>
                <th>Holdback</th>
                <th>Total Paid</th>
            </thead>
            <tbody>
                <?php while($show_invoice_data = mysqli_fetch_array($get_invoice_data_details)){ 
                    $get_transaction = mysqli_fetch_array($get_transaction_data_one)
                    ?>

                <tr>
                    <td><?php echo $show_invoice_data['invoice_id'];?></td>
                    <td><?php echo $get_transaction['customer_name'];?></td>
                    <td><?php echo $show_invoice_data['amount'];?></td>
                    <td><?php echo $show_invoice_data['tax'];?></td>
                    <td><?php echo $get_transaction['holdback'];?></td>
                    <td><?php echo $show_invoice_data['amount_paid'];?></td>


                </tr>
                <?php } ?>
            </tbody>    
            </table>
        <h3><h4>Pay Sheet Summary</h4></h3> 
        <table>
            <thead>
                <th>Invoice ID</th>
                <th>Customer Name</th>
                <th>Amount</th>
                <th>Amount Paid</th>
                <th>Tax</th>

            </thead>
            <tbody>

                <?php

                 while($show_transactions_data = mysqli_fetch_array($get_transaction_data)) {

                    $print_invoice = mysqli_fetch_array($get_invoice_data_one);


                    ?>
                <tr>
                    <td><?php echo $print_invoice['invoice_id'];?></td>
                    <td><?php echo $show_transactions_data['customer_name'];?></td>
                    <td><?php echo $show_transactions_data['subtotal'];?></td>
                    <td><?php echo $show_transactions_data['total'];?></td>
                    <td><?php echo $show_transactions_data['tax'];?></td>

                </tr>
                <?php } 


                ?>
            </tbody>    


        </table>

它在排序時顯示不匹配在此處輸入圖片說明

請幫我改正。 提前致謝

嘗試使用單個查詢進行選擇

$get_transaction_data_two = mysqli_query($link, "SELECT * FROM transactions INNER  JOIN invoicesq ON payment_payout_reference = reference_no  WHERE reference_no = '$payment_reference' ORDER BY subtotal ASC" ) or die(mysqli_error($link));
$transaction_details = mysqli_fetch_array($get_transaction_data_two);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM