2015-02-07 63 views
1

我试图用表单来填充数据库,用户可以编辑信息。我添加一个名为 “” 的模式:

Number.php:在Zend中编辑表格

<?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从那样的Uri。 它应该来自请求

你能print_rZend_Controller_Front::getInstance()->getRequest()内容,因为这样你可能会得到$part$_GET一部分。

0

要从请求中获取值,请在控制器中使用$this->getRequest()->getParam('ParamName');,其中ParamName是所需编号的最后一个参数的名称。

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

然后在查询,你需要通过这个值是这样的:

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

提示:其更好地使用PDO