1

mysqlの3つのドロップダウンリストから1つの列に値を挿入する方法

私はphpを使用しています。

日付の 3 つのドロップダウン リストを含むフォームがあります。1. 日 2. 月 3. 年

それらを1つの日付値としてmysqlの1列に挿入するにはどうすればよいですか?

4

3 に答える 3

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,2013STR_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'
于 2013-01-24T04:06:51.163 に答える
1
$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()関数を調べる必要があります。

楽しい。

于 2013-01-24T04:03:08.353 に答える
0

列が日付型であることを確認してください

次に、3 つのドロップダウンの値を連結して日付文字列にします

 // proper input for date into mysql = "Y-m-d" ("2013-01-23")
$dateString = $year . "-" . $month . "-" . $day;
于 2013-01-24T04:02:55.440 に答える