2016-10-27 4 views
2

ユーザ入力から日付が正しく追加されていますが、これは適切な方法ですか?PHPを使用してMySQLで日付を挿入して取得する適切な方法

は、これは私のテーブル構造である:

-------------------------- 
| COLUMNS | DATATYPE | 
-------------------------- 
| birth_id | int(4) PK | 
| birth_date | date  | 
-------------------------- 

そして、ここで私はそれをやっている方法です:

// Getting user input date 
$date = $_POST[‘birth_date’]; 

// Format the date from user input to YYYY-MM-DD 
// it seems like mysql date datatype supports only 
// this format… Also I have to convert the string 
// to time in order to change the date format :/ 
$format_date = date(‘Y-m-d’, strtotime($date)); 


// My query 
$my_qry = “INSERT INTO birthdays SET birth_date = ‘$format_date’“; 


// Execute query… 

上記のコードは、テーブルのbirth_date列に日付を追加しましたこの形式のファイル:YYYY-MM-DD


今、私は日付を取得し、別の形式で表示する必要があります。

// Execute query to get the data and the result stored in an object $obj 

echo date(‘d-m-Y’, strtotime($obj->birth_date)); 

上記のコードは、私は、私が以前に尋ねたようにそれは、これが唯一の方法であるか、これを達成するための任意のより専門的な方法があるDD-MM-YYYY

を望んでいた正確な形式になりましたか?

+1

唯一の方法は、MYSQLはに(日付はそのようには常にそれが私たちの開発者次第です(ソートなど)を適切にそれに対処する方法を知っている特定の形式 'YYYY-MM-DD'であることを期待しますプレゼンテーションレイヤー)を使用して、世界中に存在するさまざまなフォーマットのミラードで見たいと思っているユーザーを手助けしてください。 – RiggsFolly

+1

あなたが使用していると思われる一重引用符や二重引用符に注意してください。 Wordをエディタとして使用していますか?テキストエディタを使用してください(NOTEPAD ++など) – RiggsFolly

+0

私はPHP Stormを使用しています。あなたは私の方法が適切であると言っていますか? – Omer

答えて

1
echo (new \DateTime($obj->birth_date))->format('d-m-Y'); 
+0

新しい後にスラッシュがあるのはなぜですか? – Omer

+0

DateTimeオブジェクトはグローバルネームスペース –

+0

を持っているので、次のような日付が表示されます: '2525-1010-20162016' ...これは、' echo(new \ DateTime($ obj-> birth_date) format( 'dm-Y'); ' – Omer

関連する問題