-3

私の MySQL データベースには、startdateenddateフィールドがあります。PHP の今日の日付を使用して、今日の日付よりstartdate前で今日の日付よりenddate後の行のみを選択する方法はありますか?

4

5 に答える 5

3

試す

WHERE startdate >= todays_date AND enddate <= todaysdate

また

WHERE todays_date BETWEEN startdate and enddate

BETWEENのドキュメントはこちら

PHP を使用して現在の日付を取得するのではなく、build in MySQL 関数を使用しますCURDATE()

WHERE startdate >= CURDATE() AND enddate <= CURDATE()

また

WHERE CURDATE() BETWEEN startdate and enddate
于 2012-06-15T13:45:03.943 に答える
3

試してくださいBETWEEN

WHERE today between START_DATE AND END_DATE
于 2012-06-15T13:45:08.570 に答える
1

SQL の between 句を利用できます。

$query = "SELECT colList FROM table WHERE CURDATE() BETWEEN startdate AND enddate";
于 2012-06-15T13:45:27.047 に答える
0

私のPHPとSQLは錆びていますが、 $date が今日の日付を入れた変数である場合、次のように動作するはずです。

$results = mysqli_query( $conn, 
    "select * from yourTable where startdate<'{$date}' AND enddate>'{$date}'" );
于 2012-06-15T13:54:17.707 に答える
0

あなたはコードを提供していないので、データベースの開始日と終了日にdatetimeデータ型 があると仮定しています。

$today = date("Y-m-d H:i:s")のようなものを生成します。これはMysqlが2012-06-14 14:46:00理解する形式であるため、クエリで使用できます

select * from 'your-table' where $today BETWEEN 'start_date' AND 'END_DATE'

ありがとう

于 2012-06-15T13:49:28.363 に答える