php 同时显示两个表的内容,php-如何联接两个表,然后显示从另一个表收集的一个表的每个数据的总和...

首先,对不起,如果我的问题标题听起来很蠢….我有下表.第一个表包含我的支出类型的名称,第二个表包含这些支出的金额和日期的信息.如果您注意到下面的第二个表,则有一个名为“ e_id”的字段,它是我从第一个表中支出的相应id值.

第一表名称:expense_type

id expense_name

1 Insurance

2 Interest Payment

3 Rent

4 Electricity

... and goes on like this (unlimited perhaps :))

第二表名称:expense_details

id e_id amount date

1 3 1000 2011-12-11

2 1 500 2011-12-19

3 4 10 2011-11-21

4 3 1000 2012-01-12

... and goes on like this )

现在我的计划是从这两个表中获取所有值,并生成如下结果.但是由于第一个表的信息数量未知(对我而言),我不知道如何编写查询(包括php和mysql)来生成这样的结果.

请您帮我实现此目标?

提前致谢 :)

附注:仅供参考,我正在使用Codeigniter.

**For the Month: January 2011**

Insurance : 1000

Rent : 3453

Electricity : 546

Interest Payment : 546

---------------------------------

**Total Expenses**: 938949 /// this value is just for an example

解决方法:

您可以在控制器或模型中执行此操作:

$sql = "SELECT a.*, b.expense_name FROM expense_details AS a, expense_name AS b WHERE a.e_id = b.id ORDER BY a.id ASC";

$data = $this->db->query($sql)->result_array();

$totals = array();

echo '**For the Month: January 2011**';

echo "\n\n";

foreach ($data as $item){

$totals[$item['expense_name']] = isset($totals[$item['expense_name']]) ? $totals[$item['expense_name']] + $item['amount'] : $item['amount']:

}

foreach ($totals as $name => $val){

echo $name.': '.$val;

echo "\n\n";

}

这不是最优雅或最稳定的方法,但我希望这可以帮助您了解需要做的事情.您可能还想按我想的月份分解总数.

标签:codeigniter,codeigniter-2,mysql,php

来源: https://codeday.me/bug/20191101/1986949.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值