
PHP5+MySQLで現在日時とDB内の開始日時と終了日時との比較の方法を教えてください。
table_a
id start end
----+--------------------+---------------------+
001 2010-01-01 10:00:00 2010-01-03 18:30:00
002 2010-01-01 12:00:00 2010-01-05 20:00:00
・
・
というデータがある時、
現在の日時がid:001のstartとendの間だったら1、
start前だったら0、endより後だったら2の値を表示させるにはどうしたらいいのでしょうか?
$sql = "SELECT
A.id
,A.start
,A.end
FROM
table_a A
WHERE A.id = ".$id."
";
$result = mysql_query($sql);
で取得して
time()などと比較すればいいとは思ってますが、DBから持ってきた日付との比較方法がわかりません。
No.1ベストアンサー
- 回答日時:
SQLで取得するときに判定するとか
SELECT *,
case
when current_date()<start then 0
when current_date()>end then 2
else 1
end now
FROM `table1`
回答ありがとございました。
bin_goさんのほうが早く回答していただいたのでベストアンサーとします。
どちらも勉強になりました。ありがとうございました。
No.2
- 回答日時:
SELECT `id`,`start`,`end`
,CASE WHEN NOW() BETWEEN `start` and `end` THEN 1
WHEN NOW() <`start` THEN 0 ELSE 2 END AS FLG
FROM
table_a
endなどの予約語は使わない方がいいです。
つかうならバックスラッシュでくくる。
回答ありがとうございました。
こちらでもやりたいことが出来ました。
endは予約語だったんですね。サンプルで書いたためstart,endとしてしまいました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpの問い合わせフォームを作っ...
-
PHP8でWarning:Undefined varia...
-
composerをインストールしたい...
-
marginの値でマイナス値を設定...
-
SFTPなどは使わないホームペー...
-
php ラジオボタン
-
submitで思うようにページが遷...
-
HTML PHP ラジオボタンのイベント
-
php でqiitaのサイトにあったフ...
-
SplFileObject を利用したとき...
-
PHPの勉強してます。 配列のと...
-
BASIC認証のフォームをデザイン...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
-
返信機能のツリー構造の深さを...
-
PHPについて。
-
phpのheader("Location:#pos")...
-
PHPからCSVをアップロード後、m...
-
[php初心者]サイトを見てデータ...
-
phpに関わる所での、form actio...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
date関数を教えてください
-
質問:年月日の表示方法について
-
prologの引数
-
postgresのカレンダーについて
-
PHP+MySQLで月ごとの数量を表...
-
【PL/SQL】DATE型の時刻の表示...
-
countで0を返せますか?
-
EXCELマクロのSQL文での引用符...
-
Prologの現在時間の取得
-
UNIXの時間はどう変更すれ...
-
更新履歴を古い順に表示させる...
-
掲載日と更新日の管理の仕方
-
Smarty
-
dateのフィールドタイプについて
-
php mysql データ登録
-
現時刻とjson(オブジェクト形...
-
PHP5+MySQLで現在日時とDB内の...
-
PHPとMysqlを使用した集計表の...
-
DB登録に関する日付の認識
-
Strict Standards: date() ...
おすすめ情報