これについて検索しましたが、何も見つかりませんでした。
記事の表があります。新しい記事を書くときは、php time()関数を使用してmysqlテーブルに時間を書き込みます。
私のテーブルは
id記事の時間
時間データ型はINT(UNSIGNED)です
私の問題は、先週から今日まで、または先月から今日までの記事を表示したいということです。
私のmysqlクエリはどうあるべきですか?
通常私はこれをします
SELECT * FROM articles ORDER BY Time DESC
これにより、今日から過去までのデータが得られます。どうすればいいですか?私は解決策を思い付くことができません。php-mysqlを一緒に使用する必要がありますか、それともmysqlのみでこれを処理できますか?アイデアや例を教えていただけますか?ありがとう。
編集:
提案どおりに日時に変更しましたが、タイムゾーンに問題があると思います
今私のago()関数は2時間遅れて動作します。
<?php
date_default_timezone_set('Europe/Istanbul'); //timezone function
ago($time)
{
$periods = array("saniye", "dakka", "saat", "gün", "hafta", "ay", "yıl", "baya");
$lengths = array("60","60","24","7","4.35","12","10");
$now = time();
$difference = $now - $time;
$tense = "önce";
for($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++) {
$difference /= $lengths[$j];
}
$difference = round($difference);
return "$difference $periods[$j] önce ";
} //ago function
echo $Date = ago(strtotime($data['WriteTime'])). 'önce';
?>