CakePHP中的出生日期下拉列表

CakePHP中的出生日期下拉列表,cakephp,Cakephp,我想在CakePHP应用程序中为用户的出生日期创建三个选择框 我该怎么做?我已通过以下方法成功构建了一个男性或女性模型: <?php echo $this->Form->input('gender', array('label' => '<strong>Gender</strong>', 'type' => 'select', 'options' => array('Male'=>'Male','Fema

我想在CakePHP应用程序中为用户的出生日期创建三个选择框

我该怎么做?我已通过以下方法成功构建了一个男性或女性模型:

<?php echo $this->Form->input('gender', array('label' => '<strong>Gender</strong>', 'type' => 'select',
             'options' => array('Male'=>'Male','Female'=>'Female'))); ?>

但是对于DoB,我需要用月份、天数和年份预先填充字段


有人能帮忙吗?谢谢

您只需要一个名为“生日”的DB字段或任何类型的“日期”字段

就这样

不过,我建议将empty=>'-'添加到选项数组中

我还使用min和max多年,这非常有用:

'minYear'=>date('Y')-USER_AGE_MAX, 'maxYear'=>date('Y')-USER_AGE_MIN+1
而这两个常量是在我的引导中定义的。您还可以使用Configure::write()和read()。我的情况是max 99和min 9

如果是“德语”形式,则是

echo $this->Form->input('birthday', array('dateFormat'=>'DMY', 'minYear'=>date('Y')-USER_AGE_MAX, 'maxYear'=>date('Y')-USER_AGE_MIN+1, 'empty'=>array('- -')));

您只需要一个名为“生日”的DB字段或任何类型的“日期”字段

就这样

不过,我建议将empty=>'-'添加到选项数组中

我还使用min和max多年,这非常有用:

'minYear'=>date('Y')-USER_AGE_MAX, 'maxYear'=>date('Y')-USER_AGE_MIN+1
而这两个常量是在我的引导中定义的。您还可以使用Configure::write()和read()。我的情况是max 99和min 9

如果是“德语”形式,则是

echo $this->Form->input('birthday', array('dateFormat'=>'DMY', 'minYear'=>date('Y')-USER_AGE_MAX, 'maxYear'=>date('Y')-USER_AGE_MIN+1, 'empty'=>array('- -')));

请参见Facebook.com/r.php以了解我的意思。我不想要文本框。上面的示例不会生成文本框。只要数据库字段类型是日期字段,它将生成与Facebook注册页面上完全相同的内容。Cake就是这么聪明的:-)请看Facebook.com/r.php了解我的意思。我不想要文本框。上面的示例不会生成文本框。只要数据库字段类型是日期字段,它将生成与Facebook注册页面上完全相同的内容。Cake很聪明:-)@Cameron-CakePHP是否使用PEAR HTML_QuickForms 2?您是否尝试过?是的,它只创建一个文本输入字段,而不是三个下拉列表。它应该创建三个下拉列表。数据库中是否有
date
类型的字段?为什么字段类型很重要?因为助手应该只输出它应该输出的内容,而不管它连接到什么形式。另外,没有人告诉它创建一个“type=>select”,那么它为什么要创建一个呢?@Cameron-CakePHP使用PEAR HTML_QuickForms2吗?你试过吗?是的,它只创建一个文本输入字段,而不是三个下拉列表。它应该创建三个下拉列表。数据库中是否有
date
类型的字段?为什么字段类型很重要?因为助手应该只输出它应该输出的内容,而不管它连接到什么形式。而且它没有被告知创建一个'type=>select',那么它为什么要创建一个呢?