-1

这将有点令人困惑,我认为解释......

我有一个表格,您可以在其中选择月份 (mes)、年份 (ano) 和运动类型 (movimento)

我想要做的是创建一个搜索查询,在数据库(fluxo)中找到您在表单上选择的这 3 个值中的所有重复数据,我的问题是当我选择 3 时,我得到的 SUM 来自我拥有的所有运动类型(tipo),我只想要那些尊重我之前选择的所有 3 个字段的运动,我想知道是否有可能的方法加入 MONTHNAME 和 YEAR 以通过数据库搜索重复日期

这是我的代码:

$result5 = mysql_query('SELECT SUM(valor) AS value_sum FROM fluxo WHERE tipo = "'.$tipo.'" AND MONTNAME(data) = "'.$meses[$mes].'" AND YEAR(data) = "'.$ano.'" having count(tipo, data)>1  '); 
$row5 = mysql_fetch_assoc($result5); 
$sum5 = $row5['value_sum']; 

$n=1; 

echo "<p>Os seus resultados:<p>";



echo "<table border=0>";
echo "<tr bgcolor='#CCFFCC'>";
echo "<td style='width: 100px;'>Tipo</td>";
echo "<td style='width: 100px;'>Movimento</td>";
echo "<td style='width: 100px;'>Valor</td>";
echo "<td style='width: 100px;'>Data</td>";
echo "</tr>";

while($row = mysql_fetch_array($result4)){ 
    echo "<tr bgcolor='#CCCCCC'>";
    echo "<td style='width: 100px;'>".$row['tipo']."</td>";
    echo "<td style='width: 100px;'>".$row['movimento']."</td>";
    echo "<td style='width: 100px;'>".$row['valor']."</td>";
    echo "<td style='width: 100px;'>".$row['data']."</td>";
    echo "</tr>";

}

echo "</table>";

echo "<p> Valor errado, apenas a somar tudo: " .$sum5;

?>

我知道这听起来有点令人困惑

4

1 回答 1

0

要按月/年搜索,我通常使用以下内容:

$sql = "SELECT * FROM `table` WHERE `date` LIKE '".$year."-".sprintf("%02d",$month)."-%'";

我不知道这是否是最好的解决方案性能,但它对于我使用它的效果非常好。

于 2012-08-03T10:11:12.757 回答