需要你的帮助。 php,mysql
我有以下项目。
我有两张桌子
**table 1**
user_id Plan
1 5
1 7
2 5
2 9
3 7
1 9
**table 2**
Plan Price
5 100
7 200
9 300
我必须找到一个用户选择的计划总费用 例如user_id = 2必须支付400
我已经有以下代码,但是这个代码在上面的示例总成本= 600中添加了数据库中所有计划的价格 我究竟做错了什么? :(
$totalcost = NULL;
$sql = "select SUM(Plan.Cost) as ANSWER FROM Plan";
$result = mysql_query($sql, $link) or die(mysql_error());
$totalcost = mysql_fetch_row($result);
$sql = "select * FROM Plan";
$result = mysql_query($sql, $link) or die(mysql_error());
$rows = mysql_num_rows($result);
$Plan = array();
if (is_resource($result)) {
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$Plan[] = $row;
}
}
答案 0 :(得分:0)
您必须在查询中指定ownerid (in venue table)
,例如:
user_id
答案 1 :(得分:0)
你可能想在查询中使用LEFT JOIN,所以你可以做这样的事情:
SELECT table1.user_id, table1.plan, SUM(table2.cost) FROM table1 LEFT JOIN table2 ON table1.plan=table2.plan WHERE table1.user_id = $user_id;
通过这种方式,您可以在1个查询中获取结果,并使数据库完成所有工作,而不是在函数等中循环数据。