-2

私はYiiを初めて使用します。その形式でアプリケーションを作成しました。次に示すように、複数選択オプションとしてフィールドを作成しました。......データをmysqlテーブルに保存する方法を教えてください。私がしなければならないことと私が変更しなければならない場所..選択された各部門を保存したい行として保存する必要があります

 <?php 
     $data = array('101' => 'CSE', '102' => 'IT', '103' => 'EEE', '104' => 'ECE');
$selected   = array(
  '102' => array('selected' => 'selected'),
  '103' => array('selected' => 'selected'),
);
$htmlOptions = array('size' => '5', 'prompt'=>'Use CTRL to Select Multiple Staff', 'multiple' => 'true', 'options' => $selected);
    echo $form->listBox($model, 'department',$data, $htmlOptions, array('rows' => 6, 'cols' => 50, 'class' => 'text_area')); ?>
</div>
4

2 に答える 2

1

コントローラーでアクションを定義することで、これを簡単に行うことができます

public function actionCreate(){
$model = new modelName;
if(isset($_POST['attribute']))
    {
      $model->attributes = $_POST['attributes'];
        if($model->validate()) 
           { 
             $model->save();
           }else{ "Exception Statement"}
    }
于 2013-03-08T09:01:39.987 に答える
0

個々のオプションをテーブルの行として保存したいのですが、値を配列として取得しています。ここで、コードを変更して、複数の選択で値を保存する必要があります....以下のコードの出力は、「部門」でした"

public function actionCreate()
{
    $model = new Emp;
    $model2=new Emprole;
    // Uncomment the following line if AJAX validation is needed
    // $this->performAjaxValidation($model);

    if(isset($_POST['Emprole']))
    {
        $model2->attributes=$_POST['Emprole'];
        $model2->save();
        $contact_id = Yii::app()->db->getLastInsertId();            

    }

    if($contact_id!='')
    {

    if(isset($_POST['Emp']))
    {
        $model->beforeSave();
        $model->attributes=$_POST['Emp'];
        if($model->save())
            $this->redirect(array('view','id'=>$model->empcode));
    }
于 2013-03-11T12:44:09.017 に答える