簡體   English   中英

如何使用zend_form在某些元素中填充值

[英]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.

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