複数チェックボックスで選択したものを、確認画面用に出力する方法

2015年06月13日 13:47

 

(1)入力フォームのviewから、確認ボタン押下

 

        echo ('項目5');
        $select1 = array( '1' => 'さつき',
                '2' => 'ゆいと',
                '3' => 'たくと',
                );
        
        echo $this->Form->input( 'MySampleData.5', array( 
            'type' => 'select', 
            'multiple'=> 'checkbox',
            'options' => $select1, 
            'selected' => $defult  // 初期値の設定
        //  'div' => false           // div親要素の有無(true/false)
        ));

  echo $this->Form->end('確認');

 

(2)コントローラーで入力値を、確認画面用に成形する

$selectarry = array( '1' => 'さつき',
                '2' => 'ゆいと',
                '3' => 'たくと',
                );
 
                    $confirm_datas =  $this->request->data['MySampleData'];
                     
                     //成型が必要なものは形をかえる
                     //複数チェックボックスの配列で、確認画面では選択した項目を表示させたい場合
                     if(is_array( $confirm_datas[5] ) ){
                         $string = '';
                         foreach ( $confirm_datas[5] as $kye => $value )
                         //確認画面用の配列を用意
                        $string .= $selectarry[$value] . '<br>';
                         
                     }
                     $confirm_datas[5] = $string;
                     
                     debug($confirm_datas);
                    //確認画面をrender 
                    $this->set('confirm_datas',$confirm_datas);
                                        
                    $this->render('confirm');

 

(3)確認画面用のView

                    echo '<td>';echo ('項目5');echo '</td>';
                    echo '<td>';echo($confirm_datas[5]);echo '</td>';
                    echo '</tr>';
                     echo '<tr>'; 
 
(4)実際表示される内容
さつき

ゆいと