cakephp:我如何在default.ctp中添加dropdownlist?

时间:2011-07-30 11:50:27

标签: php mysql database cakephp

在default.ctp中我想添加两个下拉列表。 一个是2010年到2020年的年度清单,另一个是1月到12月的月份清单。

我该怎么做?

我必须为此创建表单吗?喜欢

echo $this->Form->create...
echo $this->Form->end..

或者我可以添加两个下拉列表和搜索按钮吗?

如果我点击“搜索”按钮,它将转到帖子/存档操作,并在帖子表的“已创建”列中显示那些“年 - 月”的帖子。

有人可以为此发布示例代码吗?

这是我到目前为止所尝试的:             $ listyear = array();

        for($i=2010;$i<=2020;$i++){
            array_push($listyear,$i);
        }


        $track=array(31,28,31,30,31,30,31,31,30,31,30,31);

        $months=array(1=>'January',
                      2=>'February',
                      3=>'March',
                      4=>'April',

                      5=>'May',
                      6=>'June',
                      7=>'July',
                      8=>'August',

                      9=>'September',
                      10=>'October',
                      11=>'November',
                      12=>'December');                                                  

        echo $this->Form->create('Post', array('url' => array('controller' => 'posts', 'action' =>'listarchive')));
        echo $this->Form->input('Select year',array('type'=>'select','options'=>$listyear) );           
        echo $this->Form->input('Select month',array('type'=>'select','options'=>$months) );
        echo $this->Form->end('Search');

1 个答案:

答案 0 :(得分:1)

是的,您需要创建一个表单(或使用JavaScript,但普通的HTML表单更容易,更可靠)。您可以使用Form::year()创建一年的下拉列表和Form::month()几个月:http://book.cakephp.org/view/1416/yearhttp://book.cakephp.org/view/1417/month

如果您在创建表单时遇到问题,最好发布您尝试过的内容并询问具体问题。表格在Cookbook(http://book.cakephp.org/view/1383/Form)中有相当广泛的内容。

看到代码后编辑:你可以做这样的事情让Cake完成工作:

echo $form->create( 'Post', array( /* whatever you need */ ) );
echo $form->year( 'year', 2010, 2020 );
echo $form->month( 'month' );
echo $form->end( 'Search' );