Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > вопрос по Zend _form


Автор: fath_fast 23.3.2009, 13:32
Всем доброго времени суток!
Есть вопрос по  Zend Framework, а точнее по взаимодействию классов  Zend_Form и Zend_Db_Table.
Написал контроллер, который редактирует  одну запись в таблице через веб-форму:
Код

    function  editAction()
    {
        $form = new StForm();
        $this->view->form = $form;

        if($this->_request->isPost())
        {
            $formData = $this->_request->getPost();
            if($form->isValid($formData)){
                $st = new St();                              // в классе St идёт описание обычной таблицы, где всего лишь два поля id_st и title         
                $id = (int)$form->getValue('id_st');
                $row = $st->fetchRow('id_st='.$id);
                $row->title=$form->getValue('title');
                $row->save();
            }
            else
            {
             $form->populate($formData);
            }
        }
        else
        {
            $id = (int)$this->_request->getParam('id_st', 0);
            if($id > 0)
            {
                $st = new St();
                $st = $st->fetchRow('id_st='.$id);
                
                $form->populate($site->toArray());
            }
        }


И код SiteForm:
Код

  class SiteForm extends Zend_Form
{
    //put your code here
    public function  __construct() {
        parent::__construct();
        $this->setName('add_site');
      
        $id_site= new Zend_Form_Element_Hidden('id_st');
     
        $title = new Zend_Form_Element_Text('title');
        $title->setLabel('Title')
        ->setRequired(true)
        ->addFilter('StripTags')
        ->addValidator('NotEmpty');

      $submit = new Zend_Form_Element_Submit('submit');
      $submit->setAttrib('id', 'submitbutton');

        $this->addElements(array($id_st, $title, $submit));
      
 }
}


Этот код работает как надо, но он редактирует всего лишь  одну запись. А каким образом в форму для редактирования можно загрузить не одну запись, а сразу несколько?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)