こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

解決済みの質問

datetime型、未入力時の日時表示について

PHP&MySQL初心者です。
同窓会の申し込みフォーム作成していますが、日時表示について質問です。
参加希望日時をカレンダー入力させて、データベースに登録しています。
日時はカラムを分けずにまとめてdatetime型にしています。

■第一希望
[カレンダー入力](年月日時分をまとめて)
■第二希望
[カレンダー入力](年月日時分をまとめて)
→データベース(mySQL)には、
datetime型「2016-01-05 02:50:00」形式で登録。

カレンダー入力せずにINSERTされたとき、datetime型だと、
「0000-00-00 00:00:00」で登録されますが、
この値を、date('Y年n月j日 g時i分', strtotime(カラム値));
で読み出すと、「1970 年 1 月 1 日 00:00:00」と表示されます。
このままではまずいので、単純に空欄としたいのです。

カレンダー入力されなかったとき、つまり、「0000-00-00 00:00:00」で登録されているとき、
日時表示を空欄にするスマートな方法はありますか?

投稿日時 - 2016-01-12 10:29:50

QNo.9110061

すぐに回答ほしいです

質問者が選んだベストアンサー

if(カラム値,date('Y年n月j日 g時i分', strtotime(カラム値)),"")

投稿日時 - 2016-01-12 11:25:13

お礼

ありがとうございます。解決しました。

投稿日時 - 2016-01-21 11:28:07

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(2)

ANo.1

MySQL側の日時を挿入するカラムに null が入る事を許すようにして、
MySQLからデータを取得してきた際に PHP側で以下のように null チェックをしてあげれば良いと思います。

if ( !is_null( カラム値 ) ) {
......
}

余談ですが、
"「1970 年 1 月 1 日 00:00:00」"
これはUNIX時間というので、覚えておくと何かと便利です。
https://ja.wikipedia.org/wiki/UNIX%E6%99%82%E9%96%93

投稿日時 - 2016-01-12 11:14:52

お礼

ありがとうございました。
解決しました。
UNIX時間、という言葉も教えていただきありがとうございます。

投稿日時 - 2016-01-21 11:27:49

-広告-
-広告-

あなたにオススメの質問

-広告-
-広告-