2010-04-05 9 views
0

j'ai quelques champs dans ma table de base de données, et un champ avec le nom de téléphone, je sauverai la valeur à ce dépôt comme celui-ci 111-222-5555comment remplir une valeur dans un élément Zend_Form

maintenant je veux lire tous mes champs, et remplir à ma forme, j'aime remplir le téléphone déposé à 3 éléments (comme élément de texte)

lorsque je tente ce code

$id = $this->_request->getParam ('id'); 
$values = $cutomModel->findCustomerById($id);// return array of row 
$frm->populate($values); 

tous les champs montrent sous forme hors champ de téléphone,

comment puis-je remplir champ de téléphone à 3 éléments

grâce

+0

Veuillez améliorer l'anglais de votre question. C'est difficile à comprendre ... – rogeriopvl

Répondre

0

Si je comprends bien votre question, vous devez d'abord créer 3 champs de formulaire distincts (quelque chose comme phone_1, phone_2 et phone_3) pour contenir les 3 segments de téléphone distincts. Ensuite, avant de remplir les champs, séparez la sortie de la base de données de 1 champ en 3 champs. Enfin, avant d'insérer une entrée de formulaire dans votre base de données, vous devez combiner l'entrée des 3 champs dans le champ 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); 
0

D'après ce que je (à peine) compris, vous essayez de remplir 3 éléments d'un formulaire avec le contenu d'un champ (téléphone) dans votre base de données table.

Pour ce faire, vous pouvez utiliser la méthode setDefault() de l'objet Zend_Form. Quelque chose comme ceci:

$frm->setDefault('field_name', $values->phone); 

faire après populate() et pour tous les domaines que vous voulez une valeur personnalisée à remplir.

+0

ça dose pas de travail – user1400

Questions connexes