2012-03-22 2 views
2

Это код, на мой взгляд:CakePHP получить значение из DROPDOWNLIST

echo $this->Form->create('Chart'); 
echo $this->Form->input('username', 
     array('label'=>('Usernames List'), 
     'empty'=>('Select username'), 
     'options'=>$usernames, 'selected'=>false)); 
echo $this->Form->input('month', 
     array('label'=>('Month'), 
     'empty'=>('Select month'), 
     'options'=>$months, 'selected'=>false));?> 
echo $this->Form->input('year', 
     array('label'=>('Year'), 
     'empty'=>(date('Y')), 
     'options' => $years, 'selected'=>false)); 
echo $this->Form->end('Create Chart'); 

И в мой контроллер я пытаюсь получить значения из указанных выше DropDownLists, это мой код:

if (!empty($this->data)) { 
      $username = $this->data['Chart']['username']; 
      $month = $this->data['Chart']['month']; 
         $year = $this->data['Chart']['year']; 
     } 

Но то, что я получаю в $ username, $ month и $ year variables, является индексом элемента в раскрывающемся списке, а не значением. Например, если я выберу 2012 год в Yeardoldlist, я получаю «0», но мне нужен «2012».

Как я могу получить стоимость?

ответ

2

Использование array_combine (doc here)

$usernames = array_combine($usernames, $usernames); 
... 
+0

Спасибо, это работает! – myrmix

+0

Спасибо! Это сработало хорошо. – abbotto

0

Дайте нравится эта

$username = array('name1'=>'Name1','name2'=>'Name2'...); 
Смежные вопросы