我认为解释会有点混乱......
我有一个表单,您可以选择一个月(mes),一年(ano)和一种运动类型(movimento)
我想要做的是创建一个搜索查询,在数据库(fluxo)中找到您在表单上选择的那3个值中的所有重复数据,我的问题是,当我选择3时SUM我get来自我所拥有的所有类型的运动(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;
?>
我知道这可能听起来有些混乱
答案 0 :(得分:0)
要按月/年搜索,我通常会使用以下内容:
$sql = "SELECT * FROM `table` WHERE `date` LIKE '".$year."-".sprintf("%02d",$month)."-%'";
我不知道这是否是性能最佳的解决方案,但它对我使用它的效果非常好。