0

我试图从之前在表单中选择的重复值的列中得到一个总和,但我什至无法显示结果,这段代码有问题吗?

数据库结构

表 carros
-id
-matricula
-marca

表 movimentos
-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;
}
4

3 回答 3

1

如果不了解您使用的表格的内容,我认为没有人可以帮助您。

但:

SELECT SUM(value) AS value_sum FROM despesa

似乎是您求和的核心,它不包含帖子中的任何内容(如矩阵)。

如果我是你,我会首先回显所有 SQL,然后从那里找出你真正需要做什么。

于 2012-07-16T09:14:49.253 回答
1

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

$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'); 
于 2012-07-16T09:19:05.057 回答
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}"); 
于 2012-07-16T09:18:43.967 回答