使用PHP从两个MYSQL表中提取信息

使用PHP从两个MYSQL表中提取信息,php,mysql,Php,Mysql,创建轻量级预算应用程序。我有一个数据库,两个表 交易记录-日期、金额、供应商、类别id个位数 类别-id、姓名、限制我在每个类别中可以花费的金额 我目前正在使用下面的PHP打印按类别分组的所有交易金额的总和。我想做的是显示每个分组的总数,但也显示相应的名称和限制。我还想写一个数学公式,这样每个值的和都会从极限中减去,然后显示差值 例如: 食品杂货-花费:-12.00限额:200.00剩余:188.00 租金-支出:-3.00限额:200.00剩余:188.00 外出就餐-花费:-9.00上限:2

创建轻量级预算应用程序。我有一个数据库,两个表

交易记录-日期、金额、供应商、类别id个位数 类别-id、姓名、限制我在每个类别中可以花费的金额

我目前正在使用下面的PHP打印按类别分组的所有交易金额的总和。我想做的是显示每个分组的总数,但也显示相应的名称和限制。我还想写一个数学公式,这样每个值的和都会从极限中减去,然后显示差值

例如:

食品杂货-花费:-12.00限额:200.00剩余:188.00 租金-支出:-3.00限额:200.00剩余:188.00 外出就餐-花费:-9.00上限:200.00剩余:188.00 公用设施-已用:-45.00限值:200.00左:188.00

<?php

$result = mysql_query("SELECT SUM(amount) AS value_sum FROM TRANSACTIONS group by category") 
or die(mysql_error());  

$number = value_sum;

while($row = mysql_fetch_array( $result )) {

    echo "<div class='col1'>"; 
    echo round ($row['value_sum'], 2);
    echo "</div>"; 
} 


?>

没有经过测试,但我想简单的连接就可以了:

SELECT SUM(`t1`.`amount`) AS `value_sum`, `t2`.`name`, `t2`.`limit`
FROM `transactions` AS `t1`
JOIN `categories` AS `t2`
    ON `t1`.`category_id` = `t2`.`category`
GROUP BY `category`;

您可以使用以下内容:

   SELECT 
    (select cat.name from CATEGORIES where cat.id = tran.category_id limit 1) as Categorie,
    SUM(tran.amount) as Spent,
    (select cat.limite from CATEGORIES where cat.id = tran.category_id limit 1) as Limite,
    (select cat.limite from CATEGORIES  
      where cat.id = tran.category_id limit 1)-(SUM(tran.amount)) AS Lefted 
    FROM TRANSACTIONS tran
    group by tran.category_id;

我将limit变量改为limite,因为它是mysql的保留字;我也使用类别id,就像在表描述中一样。

选择类别、金额。。。按类别分组。。。无法显示未提取的内容。因此,您显然明白需要从两个表中提取数据,但您的示例代码并未显示您试图这样做。您是否尝试加入表但未成功?你能展示你的尝试吗?你说你有两个数据库,一个是命名的事务,但是你选择了。。。来自交易。。你是说两张桌子吗?是的。我的错误。一分贝,两张桌子。这就行了!那么,我如何将每个预算的名称包括在类别中?这是我的最新代码:从id=tran.category\U id limit 1的类别中选择名称作为分类,SUMtran.amount作为花费,从id=tran.category\U id limit 1的类别中选择limite作为limite,从类别中选择limite,其中id=tran.category\U id limit 1-SUMtran.amount按tran.category\U id从交易tran GROUP中删除;