如何在php中从数据库中获取新记录的数量?

时间:2016-01-06 11:49:30

标签: php mysql

假设我的表中包含存储CURRENT_TIMESTAMP的列。 我使用PHP代码显示:

  1. 记录今日输入
  2. 本月输入的记录
  3. 有什么想法吗?

6 个答案:

答案 0 :(得分:2)

您需要适当的说法

 WHERE record_timestamp >= something

在"今天" something应为CURDATE()。这将返回今天午夜之后加上时间戳的所有记录。

对于"本月" something应该是

 DATE_FORMAT(CURDATE(), '%Y-%m-01')

选择当月第一天的午夜。

进一步说,你得到"昨天"像这样:

 WHERE record_timestamp >= CURDATE() - INTERVAL 1 DAY
   AND record_timestamp <  CURDATE()

你上个月&#34;&#34;像这样:

WHERE record_timestamp >= DATE_FORMAT(CURDATE(), '%Y-%m-01') - INTERVAL 1 MONTH
  AND record_timestamp  < DATE_FORMAT(CURDATE(), '%Y-%m-01') 

详细信息:因为您正在使用TIMESTAMP数据类型,所有这些计算都将使用您与MySQL服务器连接的当前时区设置来执行。

答案 1 :(得分:1)

您可以获得以下记录:

SELECT * FROM table WHERE dateColumn > DATE_SUB(NOW(), INTERVAL 1 DAY);        
SELECT * FROM table WHERE dateColumn > DATE_SUB(NOW(), INTERVAL 1 MONTH);

答案 2 :(得分:1)

您可以应用以下查询:

  • 今天要输入记录。

    function reactToCheckbox(){
       if(check1.checked){
            var element = document.getElementById("panel-content").id = 'panel-content-show';           return false;
       }
       else{
          var element = document.getElementById("panel-content-show").id = 'panel-content';             return false;
       }
    };
    
  • 获取特定的月份记录。

    select * from table where DATE( from_unixtime( date_column )) = '2016-01-06';
    

答案 3 :(得分:0)

获取今天的记录: -

SELECT * FROM `table` WHERE date_format(`created`,'%Y-%m-%d') = CURDATE();

要查找当前月份记录,请执行以下操作: -

Select current months records mysql from timestamp column

答案 4 :(得分:0)

如果您想获取今天输入的记录,请参加今天的日期&amp;将时间附加到00:00:00,然后计算它的时间戳并将其存储在变量$ start中,同样通过将时间附加到24:00:00&amp;来计算$ end。在sql pass where子句中,条件日期&gt; = $ start和date&lt; = $ end。

您可以通过获取月份的第一个日期时间戳和月份的结束日期时间戳来应用相同的逻辑。

希望这会对你有所帮助。

答案 5 :(得分:-1)

使用 num_rows 函数完成PHP代码,如here所述。

.class {
    box-sizing: border-box;
}

如果您想要上个月的结果,只需使用INTERVAL 1 MONTH而不是1 DAY,就像@devpro的回答一样。