无法从选定的重复ID(PHP)和(MySQL)中获得总和的值

时间:2012-07-16 09:10:04

标签: php mysql sum

我试图从之前在表单中选择的重复值的列中获取总和,但我甚至无法显示结果,此代码是否有问题?

数据库结构

表卡罗斯
-id
-matricula
-marca

表格动画
-ID -matricula -marca -fornecedor -tipo -despesa -observacoes

我在文件“verificar.dwt.php”中有一个表单,其中包含一个下拉列表,其中包含“matricula”中的所有值(来自表carros),当它选择相应的“matricula”时,它将转到“extra1” .dwt.php“它显示一个表,其中所有重复的行具有相同的”matricula“值。

我现在想要显示的是重复行的总和。

<a href='verificar.dwt.php'>Voltar atrás</a>

<div align="center"><? 

include 'configmov.dwt.php'; 

$tableName='movimentos';
$matricula = mysql_real_escape_string($_POST['matricula']);

$sql="SELECT matricula, marca, despesa FROM ".$tableName." WHERE matricula = '".$matricula."'";
$result=mysql_query($sql); 

$result1 = mysql_query('SELECT SUM(value) AS value_sum FROM despesa'); 
$row1 = mysql_fetch_assoc($result1); 
$sum = $row1['value_sum'];

$n=1; 

echo "Os seus resultados: <p>";

echo "<table border=0>";
echo "<tr bgcolor='#CCFFCC'>";
echo "<td style='width: 100px;'>Matricula</td>";
echo "<td style='width: 100px;'>Marca</td>";
echo "<td style='width: 100px;'>Despesa</td>";
echo "</tr>";




while($row = mysql_fetch_array($result)){ 
    echo "<tr bgcolor='#CCCCCC'>";
    echo "<td style='width: 100px;'>".$row['matricula']."</td>";
    echo "<td style='width: 100px;'>".$row['marca']."</td>";
    echo "<td style='width: 100px;'>".$row['despesa']."</td>";
    echo "</tr>";

    echo $sum;
}

3 个答案:

答案 0 :(得分:1)

如果不了解您使用的表格的内容,我认为任何人都无法帮助您。

可是:

SELECT SUM(value) AS value_sum FROM despesa

似乎是你总结的核心,它不包含任何发布内容(如matricula)。

如果我是你,我首先回应所有的SQL并从中找出你真正需要做的事情。

答案 1 :(得分:1)

如果你想要显示它,那么你必须在一行下的列上显示它,但是在显示它之前你关闭了你的row属性可能会产生问题。还有一件事你把这个查询放在

$result1 = mysql_query('SELECT SUM(value) AS value_sum FROM despesa'); 

是despesa表名?因为我认为它是colname,如果它是colname那么你的查询应该是这样的

$result1 = mysql_query('SELECT SUM(despesa) AS value_sum FROM Tablename'); 

答案 2 :(得分:0)

在您的第一个查询中,despesa是一列

$sql="SELECT matricula, marca, despesa FROM ".$tableName." WHERE matricula = '".$matricula."'";

所以我想这是

的内容
$result1 = mysql_query('SELECT SUM(value) AS value_sum FROM despesa'); 

你应该使用

$result1 = mysql_query("SELECT SUM(despesa) AS value_sum FROM {$tableName}");