如何将3个下拉列表中的值插入mysql的1列
我正在使用 php。
我有一个表格,其中包含 3 个日期下拉列表,1. Day 2. Month 3. Year
如何将它们作为 1 个日期值插入 mysql 中的 1 列?
如何将3个下拉列表中的值插入mysql的1列
我正在使用 php。
我有一个表格,其中包含 3 个日期下拉列表,1. Day 2. Month 3. Year
如何将它们作为 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'))";
$date
使用 (.) 点连接运算符将下拉选择的值组合成单个字符串 ,并将其传递给STR_TO_DATE()
将字符串转换为日期的函数。
因此,假设您将字符串May 1,2013传递给STR_TO_DATE()
函数,插入的值是日期时间类型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
变量插入到您的数据库中,这datetime
是您date_field
在 mysql 中的另一种数据类型。
更新:
$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;