ホームページ > バックエンド開発 > PHPチュートリアル > 日付比較を実装して5日以内と10日以内のレコードを表示する方法_PHPチュートリアル

日付比較を実装して5日以内と10日以内のレコードを表示する方法_PHPチュートリアル

WBOY
リリース: 2016-07-13 17:21:19
オリジナル
1042 人が閲覧しました


私は数日前に、この種の日付比較を 5 日以内に表示することについて投稿しました。

http://www.oso.com.cn/forum/read.php?theme_id=7459

主な引数は SELECT something FROM table
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) MYSQL の TO_DAYS(DATE) 関数は次のように説明されます:

DATE から AD 0 までの合計日数を返します。テストしてみました
mysql>select to_days(now(0));
+------ -- ----------+
| TO_DAYS(NOW()) |
+------------------- ----+
| 730839 |
+----------------------+

出てくるのは現在時刻から西暦 0 年までの合計日数であり、上記のステートメントでテストしてみます。

mysql>select TO_DAYS(NOW()) - TO_DAYS(date_col) <= 5;

結果が表示されます:

ERROR 1054:Unknown column date_col in field first

このパスはブロックされているので、date_colに直接第5世代を入れてみました

mysql>select to_days(now()) - to_days(5)

結果が表示されます:

+-------------------------------------+
|to_days(now()) - to_days(5)|
+---------------+
+ -- ------------------------+

え?とんでもない?これもうまくいきませんか?
次にコマンド

mysql>select を試します。 。 。 。


突然、to_days(now()) は整数を生成するのに、直接整数を操作できるのに、なぜわざわざ to_days(date) をもう一度実行する必要があるのか​​と思いました。今すぐ試してください

mysql>select to_days(now()) - 5;

+---------------+

| -5 |

+-----------+
+----------- --------- ---------------+


OK、万歳、ついに望んでいた結果が得られました (笑) 以下は PHP コードの SELECT クエリです

データベースを保存するときは、NOW()を使用してDATEANDTIMEの値を直接代入するのが習慣です。それを表示するときにフォーマットする必要はありません。

それを取り出してすぐに使用できます。
以下は私のライブラリの 1 つの部分的な構造です

CREATE TABLE infomess (

infoid int(11) NOT NULL auto_increment,

topic varchar(255) NOT NULL,

……
email varchar(50),
dateandtime datetime DEFAULT 0000- 00-00 00:00:00 NULL ではありません、
主キー (infoid)
);

DATEANDTIME は標準の日付形式です。次に、5 日以内のレコードをクエリしたいとします。以下は SQL クエリ ステートメントです
$sql="select * from infomess where to_days(dateandtime) >= (to_days(now) ())) - 5) infoid 記述制限 $offset,$psize で注文します。

to_days(dateandtime) >= (to_days(now()) - 5) だけで十分です。ここでの 5 は変数として設定できます


ここで to_days(日付と時刻) >= (to_days(now()) - $limitdays)

その後、 $limitdays を GET メソッドで渡すことができます (ほとんどの場合 GET メソッド)

PHP で ?limitdays=5 に従ってください。$limitdasy を 10 日以内に変更するだけです。

上記の結果は MYSQL 関数を使用してテストされたものです。コードに問題がある場合は、コメントを残してください。

UNIX スタンプを使用してそのような結果が得られると言う人もいます。誰かがそのようなコードを書いて、みんなの参照と比較のために投稿してください。PHP 関数と MYSQL 関数のどちらが効率的かを判断することもできます。

http://www.bkjia.com/PHPjc/532466.html


www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/532466.html
技術記事

私は数日前に、この種の日付比較を 5 日以内に表示することについて投稿しました。 http://www.oso.com.cn/forum/read.php?theme_id=7459 主な議論は、タブから何かを選択することに焦点を当てています。 ...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート