mysqlの3つのドロップダウンリストから1つの列に値を挿入する方法
私はphpを使用しています。
日付の 3 つのドロップダウン リストを含むフォームがあります。1. 日 2. 月 3. 年
それらを1つの日付値としてmysqlの1列に挿入するにはどうすればよいですか?
mysqlの3つのドロップダウンリストから1つの列に値を挿入する方法
私はphpを使用しています。
日付の 3 つのドロップダウン リストを含むフォームがあります。1. 日 2. 月 3. 年
それらを1つの日付値としてmysqlの1列に挿入するにはどうすればよいですか?
$day = $_POST['day'];
$month = $_POST['month'];
$year = $_POST['year'];
$date = $month." ".$day.",".$year;
$query = "INSERT INTO table_name(my_column) VALUES(STR_TO_DATE('$date','%d,%m,%Y'))";
ドロップダウンで選択した値を (.) ドット連結演算子を使用して 1 つの文字列に 結合し、文字列を日付に変換する関数に$date
渡します。STR_TO_DATE()
文字列May 1,2013をSTR_TO_DATE()
function に渡すと、挿入される値は日時型になり2013-05-01
ます。
例えば。
mysql> SELECT STR_TO_DATE('01,5,2013','%d,%m,%Y');
-> '2013-05-01'
また
mysql> SELECT STR_TO_DATE('May 1, 2013','%M %d,%Y');
-> '2013-05-01'
この日時値を完全な月名形式で表示するには、DATE_FORMAT()
関数を使用します。
mysql> SELECT DATE_FORMAT('2013-05-01', %M %d %Y');
-> 'May 1 2013'
$year = $_POST['year_column']; //YYYY
// Updated
// Cause you have months as String like January
$month = date('m', strtotime($_POST['month_column'])); //Return MM
$day = $_POST['day_column']; //DD
$newDate = $year . '-' . $month . '-' . $day;
$newDate
ここで変数をデータベースに挿入し、mysql でもう1 つdatetime
データ型を設定します。date_field
アップデート:
$months = array(1=>'January', 'February', ...); // Your Months in array
echo "<select name='month_column'>";
foreach( $months as $key=>$month){
echo "<otpion value='$key'>$month</option>";
}
echo "</select>";
月の名前を付けた場合はJanuary
、この例を見てください http://codepad.org/p3pqbSlBこれは互換性のためにあなたの月を変換しますdatetime
。
また、PHP のdate()関数を調べる必要があります。
楽しい。
列が日付型であることを確認してください
次に、3 つのドロップダウンの値を連結して日付文字列にします
// proper input for date into mysql = "Y-m-d" ("2013-01-23")
$dateString = $year . "-" . $month . "-" . $day;