2

私は PHP の第一人者ではありませんが、学びながら学んでいきます。次のことも私を混乱させます。

その月の特定の日から 2 か月間の 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)." ";
?>
4

2 に答える 2

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)
于 2013-08-14T22:11:56.907 に答える
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)." ";
?>

新しい行は、コード内のコメントとして説明されています。

これが役に立ったことを願っています!

于 2013-08-14T22:12:27.637 に答える