【问题标题】:With Monthname and Year search date in database在数据库中使用月份名称和年份搜索日期
【发布时间】:2012-08-01 08:56:00
【问题描述】:

我认为这解释起来会有点混乱......

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

我想要做的是创建一个搜索查询,在数据库 (fluxo) 中查找您在表单上选择的这 3 个值中的所有重复数据,我的问题是,当我选择 3 时,我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;

?>

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

【问题讨论】:

    标签: php mysql database date


    【解决方案1】:

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

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

    我不知道这是否是性能方面最好的解决方案,但对于我使用它的用途来说效果很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-29
      • 1970-01-01
      相关资源
      最近更新 更多