【发布时间】:2018-01-08 08:54:03
【问题描述】:
我有两张桌子invoice_in 和invoice_out。
在两个表中,我分别有date、trad_id、net、vat、total 的列。
我正在为两张桌子分享我的图片。
我关心的是以表格格式显示月份数据。如果我想要来自两个表格的数据,那么如何为此编写 for 循环。在我当前的代码中,我只从一个表中获取数据。所以它以正确的方式出现。
SELECT SUM(total) FROM invoice_out GROUP BY YEAR(date), MONTH(date)。 这是我当前的查询,仅显示一个表中的数据。
下面是我的功能:
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 循环中,我可以从一张表中显示我的数据。它对我有用。
但我也想从invoice_in 表中显示total。为此,我正在编写这个不起作用的查询。
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
我的第一张图片显示了 invoice_in 表中的数据。 我的第二张图片显示了 invoice_out 表中的数据。
【问题讨论】:
-
您能以文本形式向我们展示您的实际预期输出吗?请删除图片并替换为文字。
-
在您的连接查询中,您的 invoice_in 表别名
in是 reserved word。尝试使用不同的别名,看看是否能解决您的问题。 -
您将 2 个参数传递给只有一个参数的方法。这怎么不会产生至少一个错误??
-
$con = $this->__construct();???为什么 ???显然,花几分钟的时间学习 PHP 或任何 OO 手册/教程是值得的