簡體   English   中英

顯示當月記錄,使用php和mysql db

[英]Display records in current month, using php and a mysql db

我試圖從時間戳列中顯示當前月份的記錄。 這是我的代碼

$query = "SELECT
              donationid
              FROM
                  donation
              ORDER BY
                  donationid
              WHERE
                  MONTH(donatedon) = MONTH(CURRENT_DATE())";

$query_run = mysqli_query($conn, $query);

$row = mysqli_num_rows($query_run); 

echo '<h1>'.$row.'</h1>';

您沒有檢查年份,因此您將返回任何年份當前月份的記錄,而不僅僅是當前月份。

測試列的函數會阻止使用索引來優化查詢。 如果可能,最好使用關系比較。 您可以簡單地為當月的開始創建一個格式化的日期。

您也將ORDER BY放在錯誤的位置,它必須WHERE子句之后。

SELECT donationid
FROM donation
WHERE donatedon >= DATE_FORMAT(CURRENT_DATE(), '%Y-%m-01')
ORDER BY donationid

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM