[英]how to populate a value in some element using zend_form
我的數據庫表中有一些字段,電話名稱中有一個字段,我將值保存到此文件中,例如111-222-5555
現在我想閱讀所有字段,並填充到表單中,我喜歡將電話填充到3個元素(作為文本元素)
當我嘗試此代碼
$id = $this->_request->getParam ( 'id' );
$values = $cutomModel->findCustomerById($id);// return array of row
$frm->populate($values);
除電話字段外,所有字段均以表格形式顯示,
我如何將電話字段填充到3個元素
謝謝
據我(幾乎)理解,您正在嘗試用數據庫表中一個字段(電話)的內容填充表單的3個元素。
為此,可以使用Zend_Form
對象的setDefault()
方法。 像這樣:
$frm->setDefault('field_name', $values->phone);
在populate()
,並對要填充自定義值的每個字段執行此操作。
如果我正確理解了您的問題,那么首先您需要創建3個單獨的表單字段(類似於phone_1,phone_2和phone_3)以容納3個單獨的電話細分。 然后,在填充字段之前,將1個字段的數據庫輸出分成3個字段。
$id = $this->_request->getParam ( 'id' );
$values = $cutomModel->findCustomerById($id);// return array of row
// split phone number into 3 values
list($values['phone_1'], $values['phone_2'], $values['phone_3']) = explode('-', $values['phone'], 3);
$frm->populate($values);
最后,在將表單輸入插入數據庫之前,必須將3個字段的輸入合並為1個字段。
$values = $frm->getValues();
// combine phone number into 1 value
$values['phone'] = implode('-', $values['phone_1'], $values['phone_2'], $values['phone_3'])
$cutomModel->insert($values);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.