Zend_Form显示来自DB表行的表单

时间:2013-03-03 17:56:05

标签: zend-framework zend-form zend-db

我想根据DB Table记录构建动态FORM。

这是一个房间预订模块。

酒店有几种房型和描述。 预订酒店时,用户应看到以下表格:

   -- firstname [text-input]
   -- lastname  [text-input]
   -- check-in  [text-input and datepicker]
   -- check-out [text-input and datepicker]
   -- Room1 Title:Room Description  [Text-input form for number of rooms]
   -- Room2 Title:Room Description  [Text-input form for number of rooms]
   -- Room3 Title:Room Description  [Text-input form for number of rooms]
   -- Room4 Title:Room Description  [Text-input form for number of rooms]

我把这个房间记录放在一张桌子里。 如何使用ZEND_FORM构建它? 我认为它应该像房间的物体一样微笑。

我还想添加自动计算。 每间客房每晚都有具体价格。 我想总结房间数量并乘以夜数。

那么如何使用Zend_Form完成它? 我应该添加一些助手吗?新类型的文本元素?

如果是,请提供一些资料来指导和如何使用示例。

提前谢谢。

1 个答案:

答案 0 :(得分:1)

我有类似但有复选框的东西,这是一个改编,我希望它有所帮助。

class Form_Booking extends Zend_Form {
   function init() 
   {
       $this->addElement('text', 'first_name', array (
           'label' => 'First name',
           'required' => true 
       ));

       // ... all the other fields

       $count = 1000; // I used this value because I had a strange bug
       //$rooms = array() the entries from your table
       foreach ($rooms as $one) 
       {    
           $this->addElement('checkbox', "$count", array (
              'label'          => $one['room_title'],
              'description'    => $one['room_description'], 
              'belongsTo'      => 'rooms',
       ));
           $count++;
      }
   }
}