0


0

私はphpが全く新しいので、基本的なdbサイトを開発するためにLarry Ullman本を読んでいます。 "date"というテキストフィールドに日付を追加するのにYUIカレンダーポップアップ日付ピッカーを使いました。 入力される日付フォーマットは、例えば2009年5月7日木曜日です。

mysql dbに日付を入力して入力する方法はいくつかありますが、00 00 00 00 00 00のままです

//日付を確認します。 if(eregi( "^([0-9] {2})/([0-9] {2})/([0-9] {4})$"、$ _POST ['date']、)) ){$ p = escape_data($ _ POST ['date']、); } else {$ p = FALSE; '有効な日付を入力してください。'; }

// URLをurlsテーブルに追加します。 $ query = "INSERT INTO urls(URL、タイトル、説明、日付)値( '$ u'、 '$ t'、 '$ d'、 '$ p')"; $ result = @mysql_query($ query); //クエリを実行します。 $ uid = @mysql_insert_id(); // URL IDを取得します

if($ uid> 0){//新しいURLが追加されました。

私は私がすべての関連情報を提供したと思いますが、これが役に立たないならば再び謝罪します、そしてあなたが必要とするかもしれない他の情報をあなたに提供するために最善を尽くします。 ありがとう - ショーン

3 Answer


0


あなたはおそらくmysqlがそのデータ型のためにそれを期待する方法で日付をフォーマットする必要があります、さもなければそれはそれを認識することができません。 正規表現または同様の方法を使用してコンポーネント部分を抽出し、それをMySQL DATETIME型のフォーマットに従ってフォーマットすることができます。

編集:上記のフォーマットについてはhttp://dev.mysql.com/doc/refman/5.0/en/datetime.htmlを参照してください。 また、日付/時刻をunixタイムスタンプとして保存するほうが賢明かもしれません。


0


日付ピッカーが渡している形式が「2009年5月7日木曜日」の場合、 strtotime() date()関数はMySQLに渡すための有効な日付をあなたに与えるために働くべきです:

$ p = date( "Y-m-d H:i:s"、strtotime( '2009年5月7日木曜日'));

データベースフィールドがDATEの場合、おそらく "Y-m-d"部分だけが必要です。 それがDATETIMEの場合は、 "H:i:s"も必要です。


0


mysqlの日付フォーマットはYYYY-MM-DDなので、phpでデータを受け入れる方法を変更してください。

_ _ if(eregi( "^([0-9] \ {2})/([0-9] \ {2})/([0-9] \ {4})$"、$ _POST ['date' ]、))\ {$ p = escape_data($ _ POST ['date']、); } else \ {$ p = FALSE;エコー '

有効な日付を入力してください!

'; _ _

する必要があります

_ _ if(eregi( "^([0-9] \ {4} /([0-9] \ {2})/([0-9] \ {2}))$"、$ _POST ['date' ]、))\ {$ p = escape_data($ _ POST ['date']、); } else \ {$ p = FALSE;エコー '

有効な日付を入力してください!

'; _ _