Редактировать форму в Zend

Я пытаюсь использовать форму, чтобы заполнить ее из базы данных, и пользователь может редактировать информацию. Я добавляю модель с именем «Число«:

Number.php:

<?php
class Model_Number extends Zend_Db_Table_Abstract
{
protected $_name = 'cc_number';
protected $_schema = 'general';
}

В этой таблице (cc_number) у меня есть три поля:идентификатор, номер, страна«
в приложении / формах я добавляю эту форму:

EditNumber.php:

<?php
Class Form_EditNumber extends Zend_Form
{
public function __construct($option = null)
{
parent::__construct($option);
$this->setName('edit_number');
$message = new Zend_Form_Element_Text('message');
$message->setLabel(' number :')
->setRequired(true);

$country = new Zend_Form_Element_Text('country');
$country->setLabel(' country name :')
->setRequired(true);
$login = new Zend_Form_Element_Submit('login');
$login ->setLabel('edit ');
$this ->addElements(array($message,$login));
$this->setMethod('post');
}
}

В контроллере я попытался получить номер из последней части URL, а затем получить информацию по этому номеру:

Номер / editAction:

        public function editAction(){
$request = $this->getRequest();
$form_number = new Form_EditNumber();
$uri = Zend_Controller_Front::getInstance()->getRequest()->getRequestUri();
$part = basename($uri);
$numberModel = new Model_Number();
$select = $numberModel->fetchRow($numberModel->select()->where("number =  '$part'"));
$this->view->edit_form = $form_number->populate($select->toArray());

}

1

Решение

Я бы не получил $part от Ури таким образом.
Это должно исходить от $_GET часть запроса

Ты можешь print_r содержание Zend_Controller_Front::getInstance()->getRequest() потому что таким образом вы можете получить $part,

1

Другие решения

Чтобы получить значения из запроса, используйте $this->getRequest()->getParam('ParamName'); в контроллере, где ParamName это имя последнего параметра с номером, который вы хотите.

$part = $this->getRequest()->getParam('ParamName');

Затем в запросе вам нужно передать это значение следующим образом:

 $select = $numberModel->fetchRow($numberModel->select()->where("number = ". $part));

Совет: лучше использовать PDO

0

По вопросам рекламы [email protected]