Php 基于月份的SQL查询

Php 基于月份的SQL查询,php,mysql,Php,Mysql,因此,在我的页面中,我有一个选项卡栏,其中每个选项卡都有当前年份的月份名称:一月、二月、三月等等 对于我要从SQL查询的每个选项卡,datetime列等于该月。我做了一些研究和测试,发现通过使用下面的代码,我能够得到当月的结果: foreach($link->query(' SELECT name , COUNT(*) FROM sales WHERE sale = "OK" AND date > date_sub(now(), in

因此,在我的页面中,我有一个选项卡栏,其中每个选项卡都有当前年份的月份名称:一月、二月、三月等等

对于我要从SQL查询的每个选项卡,datetime列等于该月。我做了一些研究和测试,发现通过使用下面的代码,我能够得到当月的结果:

foreach($link->query('
SELECT name 
     , COUNT(*) 
  FROM sales 
 WHERE sale = "OK" 
   AND date > date_sub(now(), interval 1 month) 
 GROUP 
    BY name 
 order 
    by COUNT(*) DESC
 ') as $row) {
这是一个关于日期存储方式的示例:
2020-09-02 11:42:58

但现在我被卡住了。我如何创建一个查询来获得一月、二月、三月等等的结果

编辑:

以下是选项卡:

<button class="tablinks" onclick="openCity(event, 'År')">Januar</button>
  <button class="tablinks" onclick="openCity(event, 'År')">Februar</button>
  <button class="tablinks" onclick="openCity(event, 'År')">Mars</button>
  <button class="tablinks" onclick="openCity(event, 'År')">April</button>
  <button class="tablinks" onclick="openCity(event, 'År')">Mai</button>
  <button class="tablinks" onclick="openCity(event, 'År')">Juni</button>
  <button class="tablinks" onclick="openCity(event, 'År')">Juli</button>
  <button class="tablinks" onclick="openCity(event, 'År')">August</button>
  <button class="tablinks" onclick="openCity(event, 'År')">September</button>
  <button class="tablinks" onclick="openCity(event, 'År')">Oktober</button>
  <button class="tablinks" onclick="openCity(event, 'År')">November</button>
  <button class="tablinks" onclick="openCity(event, 'År')">Desember</button>
1月份
二月
火星
四月
市场关注度指数
朱尼
朱莉
八月
九月
奥克托伯
十一月
十二月

将月号添加到您的
openCity()
函数中

<button class="tablinks" onclick="openCity(event, 'År', 1)">Januar</button>
<button class="tablinks" onclick="openCity(event, 'År', 2)">Februar</button>
...

WHERE MONTH(date)=1
表示一月。@Barmar如果我也想要当前年份,那会像
WHERE MONTH(date)=1和year=CURDATE()
和year(date)=year(CURDATE())
@Barmar啊,谢谢@Barmar我必须创建12个不同的查询,还是只能创建一个查询?很好,但是我如何将其添加到事件中?因为我想我需要12个不同的班?(示例中的
)。或者我要在
foreach
中添加一次吗?我以为你在使用问题中显示的按钮。这与pastebin有什么关系?这里没有月份。我使用的是按钮,但粘贴箱来自我使用的示例。我的答案基于您在问题中显示的按钮,这些按钮用于月份,而不是城市。
$sql = "SELECT name, COUNT(*) AS sales_count
        FROM sales
        WHERE sale = 'OK'
        AND YEAR(date) = YEAR(NOW())
        AND MONTH(date) = ?");
$stmt = $link->prepare($sql);
$stmt->bind_param("i", $_POST['month']);
$stmt->execute();
$result = $stmt->get_result();
foreach ($result as $row) {
    ...
}