我这里有一个代码,必须搜索并回发在添加按钮上方的表格中选择的信息,搜索工作但我的帖子有问题回到表格功能。这些是显示有错误的行。
C:\ xampp \ htdocs \ portal-gep-2 \ application \ models \ ServiceProviders.php(68):Zend_Db_Table_Abstract-> fetchRow(Object(Zend_Db_Table_Select))
public function getName($id)
{
$select = $this->select();
$select->where('service_provider_id = ?', $id);
$result = $this->fetchRow($select); //this line
return $result['service_provider_name'];
}
#6 C:\ xampp \ htdocs \ portal-gep-2 \ application \ modules \ admin \ controllers \ AjaxController.php(1104):Model_ServiceProviders-> getName(NULL)
public function postserviceproviderAction()
{
$form = new Form_IndustrialTable();
$this->view->form = $form;
if(!$form->isValid($_POST))
{
$values=$form->getValues();
}
$sp = $this->getRequest()->getPost('serviceprovider', null);
$mdlserviceprovider = new Model_ServiceProviders();
$serviceprovider = $mdlserviceprovider ->getName($id); //this line
$rtn_array= array( 'sp' => $sp,
'serviceprovider ' => $serviceprovider);
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender();
echo Zend_Json::encode($rtn_array);
}
答案 0 :(得分:0)
您没有向$id
添加任何初始值,因此null
会导致错误。
您希望SQL查询看起来像SELECT * FROM service_providers WHERE service_provider_id = 50
,但为此您必须提供要查找的ID(在此示例中为50)。在使用$id
之前,您需要为变量$select->where('service_provider_id = ?', $id);
添加一些值,但是您的代码永远不会将任何值添加到变量$id
。
如果我猜你的想法,那么你需要换行:
$serviceprovider = $mdlserviceprovider ->getName($id);
为:
$serviceprovider = $mdlserviceprovider ->getName($sp);
此代码的这部分内容可能是不必要的,因为它什么都不做:
$form = new Form_IndustrialTable();
$this->view->form = $form;
if(!$form->isValid($_POST))
{
$values=$form->getValues(); //you never use $values
}