我尝试使用表单从数据库填充它,用户可以编辑信息。我添加名为" Number " :
的 Number.php:
<?php
class Model_Number extends Zend_Db_Table_Abstract
{
protected $_name = 'cc_number';
protected $_schema = 'general';
}
在此表(cc_number)中,我有三个字段:&#34; id,number,country &#34;
在申请/表格中,我添加以下表格:
的 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());
}
答案 0 :(得分:1)
我不会以这种方式从Uri那里得到$part
。
它应该来自请求的$_GET
部分
您可以print_r
Zend_Controller_Front::getInstance()->getRequest()
的内容,因为这样您就可以获得$part
。
答案 1 :(得分:0)
要从请求中获取值,请在控制器中使用$this->getRequest()->getParam('ParamName');
,其中ParamName
是包含所需数字的最后一个参数的名称。
$part = $this->getRequest()->getParam('ParamName');
然后在查询中你需要像这样传递这个值:
$select = $numberModel->fetchRow($numberModel->select()->where("number = ". $part));
提示:最好使用PDO