2012-01-29 57 views
1

我试图从Mysql数据库检索日期到我的HTML表单为了编辑记录,现在我用来插入日期到数据库的方式得到年 - 月 - 日从每一个列表,然后他们团结在一个变量是这样的:从Mysql检索日期,并将其泄漏到特定列表

$dob = $_POST['Year'] . '-' . $_POST['Month'] . '-' .$_POST['Day']; 

这将在我的表中插入的$dob值这样的格式0000-00-00

的问题是,我将如何检索这个变量并将它的每个元素分解到它的具体列表

是我的尝试似乎无用,错误的是这个代码

$row['userDateOfBirth'] = $year . '-' . $month . '-' . $day ; 

然后把每个变量(例如:年)

<option value="1920" selected="selected"><? echo $year ; ?></option> 

这个没有工作,我怎么能做到这一点?

回答

1

假设你有一个实际的日期/时间字段,你可以做分裂MySQL中:

SELECT YEAR(datefield), MONTH(datefield), DAY(datefield), etc... 

,让你包含各个日期组件三个独立的领域。你也可以在PHP中使用explode('-', $datestr)这样的东西来将'yyyy-mm-dd'分解成单独的yyyy,mm和dd块。

很多选择,这取决于你选择哪一个最容易/最适合你的特定问题。

+0

谢谢你,这是$ datestr是我提取的变量? – 2012-01-29 02:35:44

+0

是的,它是.... – 2012-01-29 02:36:48

+0

非常感谢你,它工作:),我爆炸取出的变量,然后将值分配给一个数组。 – 2012-01-29 02:40:03

1

你可以在客户端(php)端处理。

$year = date('Y', strtotime($row['userDateOfBirth'])); 

,如果你有一个无效的日期,$今年将有1970

0

你可以使用

$row['userDateOfBirth'] = date("Y-m-d", strtotime($mysqlResultRow['dateField'])); 

哪里基本上你说日期()函数返回一个格式化字符串的时间传递给它,在这种情况下通过strtotime()创建。

Date() reference。以上示例返回“2000-01-01”中的日期,请参阅为项目选择适当格式的参考。

相关问题