PHP日期在每个月的固定日期之间

时间:2013-08-14 22:05:06

标签: php sql

我不是一个PHP大师,但我试着去学习。以下内容也让我感到困惑。

我想在那个月的特定日期之后的两个月内搜索我的SQL中的结果

所以,我们今天要说的是2013年8月15日,我希望从2013年7月15日到2013年8月15日或当前日期显示结果。但它必须从上个月的15日开始。

$first = date('Y-m-15');
$last = date('Y-m-15'); //Not sure if i should change this to $last = date('Y-m-t');

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");
        $query = "SELECT * FROM pearson_lbs_log WHERE date_time  >=  '" .    
 $first . "' 
 AND date_time  <= '" . $last . "' ORDER BY date_time DESC";
 $result = mysql_query($query);
 echo " ".mysql_num_rows($result)." ";
 ?>

这是出于会计目的,但我的帐户从每个月的15日开始到第15次

我很高兴看到我登录时帐户的内容,这就是为什么我希望将结束日期作为当前日期

此代码现在可以使用:

$first = date('Y-m-15', strtotime("$last -1 month"));
$last = date('Y-m-t'); 

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");
        $query = "SELECT * FROM pearson_lbs_log WHERE date_time  >=  '" .    
$first . "' 
AND date_time  <= '" . $last . "' ORDER BY date_time DESC";
$result = mysql_query($query);
echo " ".mysql_num_rows($result)." ";
?>

2 个答案:

答案 0 :(得分:0)

你可以用php做,试试这个:

$last=   date('Y-m-15');
$first=  date('Y-m-15', strtotime("$last -1 month")); 

或者在mysql中,试试这个:

where date_time >= date_sub(now() interval 1 month)

答案 1 :(得分:0)

只是做:

<?php
$last = date('Y-m-15');
$month-today = date('m'); //get the current month

$lastmonth = $month-today - 1; //subtract one from this month to get last month
if($lastmonth == 00){ //in the case of January and December, December would be 00 (01 - 1 = 00)
$lastmonth = 12;
} 

$first = date('Y')."-".$lastmonth."-15"; //calculate the full variable in Y/lmonth/15 format

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");
    $query = "SELECT * FROM pearson_lbs_log WHERE date_time  >=  '" .    
    $first . "' 
    AND date_time  <= '" . $last . "' ORDER BY date_time DESC";
$result = mysql_query($query);
echo " ".mysql_num_rows($result)." ";
?>

新行在代码中被解释为注释。

我希望这有帮助!