簡體   English   中英

在Zend中編輯表單

[英]Edit Form in Zend

我正在嘗試使用表格從數據庫中填寫表格,用戶可以編輯信息。 我添加名為“ Number ”的模型:

Number.php:

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

在此表(cc_number)中,我具有三個字段:“ id,number,country
在應用程序/表格中,我添加以下表格:

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');
    }
}

在controller中,我嘗試從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());

        }

我不會以這種方式從Uri獲得$part 它應該來自請求的$_GET部分

您可以print_r Zend_Controller_Front::getInstance()->getRequest()的內容,因為那樣可以得到$part

要從請求中獲取值,請使用$this->getRequest()->getParam('ParamName'); 在控制器中,其中ParamName是帶有所需編號的最后一個參數的名稱。

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

然后在查詢中,您需要像這樣傳遞該值:

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

提示:最好使用PDO

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM