如何将3个下拉列表中的值插入mysql中的1列

时间:2013-01-24 03:58:10

标签: php mysql date drop-down-menu

如何将3个下拉列表中的值插入mysql中的1列

我正在使用php。

我有一个包含3个日期下拉列表的表单, 1天 2个月 3.年

如何在mysql中将它们作为1个日期值插入1列?

3 个答案:

答案 0 :(得分: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变量插入到您的DataBase中,为mysql中的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()功能。

享受。

答案 1 :(得分: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() 函数,该函数将字符串转换为日期。< / p>

因此,假设您将字符串 2013年5月1日传递给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'

答案 2 :(得分:0)

确保该列是日期类型

然后将3个下拉列表中的值连接到日期字符串

 // proper input for date into mysql = "Y-m-d" ("2013-01-23")
$dateString = $year . "-" . $month . "-" . $day;