제 젠드 폼에 이상한 행동이 있습니다. "select"버튼으로 채울 필드는 데이터베이스에 비어있는 채로 있고 (NULL) 그 중 하나의 값은 다른 필드에 들어갑니다. 다음은 내 코드입니다 :Zend_Form_Element_Select의 이상한 동작
public function init()
{
$this->setName('projet');
$id = new Zend_Form_Element_Text('codeProjet'); //works great
$id->setLabel('Code du Projet');
$nomproj = new Zend_Form_Element_Text('nomProjet'); //is filled with the codeEntreprise value
$nomproj->setLabel('Nom du Projet')
->setRequired(true)
->addFilter('StripTags')
->addFilter('StringTrim');
$deb = new Zend_Form_Element_Text('dateDebut'); //works great
$deb->setLabel('Date du début')
->setRequired(true)
->addFilter('StripTags')
->addFilter('StringTrim');
$fin = new Zend_Form_Element_Text('dateFin'); //works great
$fin->setLabel('Date de fin')
->setRequired(true)
->addFilter('StripTags')
->addFilter('StringTrim');
$montant = new Zend_Form_Element_Text('montantPrevu'); //works great
$montant->setLabel('Montant prévu')
->setRequired(true)
->addFilter('StripTags')
->addFilter('StringTrim');
$chef = new Zend_Form_Element_Select('matriculeChef'); //remains empty
$options=array('select'=>'[select]');
$chef->setLabel('Chef de Projet')
->setRequired(true);
$boss = new Application_Model_DbTable_Developpeur();
foreach($boss->fetchAll() as $p)
$options[$p['matricule']]=$p['prenom'].' '.$p['nom'];
var_dump($options);
$chef->addMultioptions($options);
$chef->setValue($selected);
$boite = new Zend_Form_Element_Select('codeEntreprise'); //remains empty
$option=array('select'=>'[select]');
$boite->setLabel('Nom de l\'entreprise');
$entr = new Application_Model_DbTable_Entreprise();
foreach($entr->fetchAll() as $p)
$option[$p['codeEntreprise']]=$p['nom'];
var_dump($option);
$boite->addMultioptions($option);
$envoyer = new Zend_Form_Element_Submit('envoyer');
$envoyer->setAttrib('id', 'boutonenvoyer');
$this->addElements(array($id, $nomproj,$deb,$fin,$montant,$chef,$boite, $envoyer));
}
일부는 데이터베이스에서 비어 있습니다 이유를 하나 개의 필드가 잘못된 값으로 채워 왜 어떤 생각을 가지고 있습니까, 그리고? 감사합니다. . 다음 줄에
변수 이름을 확인하면 같은 범위에서 변수를 재사용하고있는 것입니다. '$ p'와'$ options'는 같은 범위에있는 여러 요소에 사용되고 있습니다. – RockyFord