如何在php中连接两个表并在for循环中显示数据?

tjvv9vkg  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(327)

我有两张table invoice_in 以及 invoice_out . 在这两个表中我都有 date , trad_id , net , vat , total 分别。我正在共享两张table的图像。
我关心的是以表格式显示月份数据。如果我想要两个表中的数据,那么如何为此编写for循环。在我当前的代码中,我只从一个表中获取数据。所以它以正确的方式出现。
按年(日期)、月(日期)从发票组中选择总和。这是我当前的查询,只显示一个表中的数据。
以下是我的职责:

public function get_all_data_for_vat($table)
{                
    $table = self::get_table_name($table);
    $con = $this->__construct();
    $sql="SELECT SUM(total) FROM invoice_out GROUP BY YEAR(date), MONTH(date)";
    $execute = mysqli_query($con, $sql);
    $rows = mysqli_num_rows($execute);
    $data=mysqli_fetch_all($execute);
    return $data;
}

$data1=$obj->get_all_data_for_vat('invoice_out',$_SESSION['trade_id']); 

<tbody>                                                                    
    <?php for($i=0;$i<count($data2);$i++){                         
     ?>
        <tr class="gradeA">
            <td><?php echo $data2[$i][1];?></td>
            <td><?php echo 'Monthly';?></td>
            <td><?php echo $data2[$i][4];?></td>
            <td class="center"><?php echo $data2[$i][5];?></td>
            <td class="center"><?php echo $data2[$i][6];?></td>
            <?php if($_SESSION['roll']!=1){?>
                <td class="center bg_ls"><a href="add_VAT.php?id=<?php echo $data[$i][0];?>" onclick="randomid();" style="color:white;">Edit</a></td>
                <script type="text/javascript">
                    function randomid(){
                        $.ajax({
                            type: "POST",
                            url: 'add_paye.php',
                            data: ({id:"test123<?php //echo $obj->encrypt($data[0]);?>"}),
                            success: function(data) {
                                //alert(data);
                            }
                        });
                    }
                </script>
            <?php }?>   
        </tr>
    <?php }?>
</tbody>

在for循环中,我可以从一个表中显示我的数据,这对我很有用。但我想展示 totalinvoice_in table也是。为此,我写的这个查询不起作用。

SELECT io.trad_id , io.date , io.billing_com, 
        io.total, in.trad_id, in.date, in.billing_com, in.total 
FROM invoice_out io
INNER JOIN invoice_in in
    ON invoice_in.trad_id = invoice_out.trad_id



我的第一个图像显示了表中发票的数据。我的第二个图像显示了来自发票输出表的数据。

guykilcj

guykilcj1#

SELECT io.trad_id , io.date , io.billing_com,
io.total, invoice.trad_id, invoice.date, invoice.billing_com, invoice.total 
FROM invoice_out io
LEFT JOIN invoice_in invoice
ON invoice_in.trad_id = invoice_out.trad_id

相关问题