2016-07-15 3 views
0

yii1で新しく問題が残っています。 他のページから渡されたIDに基づいてドロップダウンリストを選択する必要があります。yii1を使用してドロップダウンリストで選択されたオプションを設定しました

私のコントローラ

$cat = $_POST['mySelect']; 
$post = file_get_contents("..................."); 
$category = CJSON::decode($post, true); 
$this->render('//Product/index', array('category'=>$category,'cat'=>$cat)); 

ビューページ

<?php 

echo CHtml::label('Category : ','cat'); 
         $options = array(); 
          foreach($category as $user) : 

           foreach($user as $use): 

            $options[$use['id']] = $use['name']; 
            if($options[$use['id']]== $cat){ 
             $sel='selected'; 
            } 
           endforeach; 
          endforeach; 

          echo CHtml::dropDownList('mySelect', 'name', $options,array('class'=>'selectpicker select_box','selected'=>$sel,'onchange'=>'select_bl(this.value)')); 

?> 

私はデータベースを持っていません。

私はいずれかがこれで私を助けることができる

echo CHtml::dropDownList($cat, 'category',Html::listData(category::model()->findAll(), 'id', 'name'),$classification_levels_options); 

を使用する方法がわかりません?

私のコードでは、$ catは選択されたカテゴリのidのidであり、$ categoryはすべてのカテゴリのリストです。

答えて

0

こんにちはCHtml::dropDownListの構文はので、あなたのsyntax

<?php 
foreach($category as $user){ 
           foreach($user as $use){ 

            $options[$use['id']] = $use['name']; 
                    } 
         } 
    echo CHtml::dropDownList('category',$cat, $options); 

する必要があります。この

dropDownList($name,$select,$data,$htmlOptions=array()) 

である私は$optionsはあなたが取得していcategoryarrayであること(あなたの質問から)assumningい探します$catは、いずれもkeyの値です。category

あなたが categories tableのモデルを持っている場合は、配列

を取得する

通常、我々はCHTMLを使用する:: listDataプロパティはmodelの名前がarray

$options = CHtml::listData(Category::model()->findAll(), 'id', 'name')); 
を取得する Category.phpあなたができる簡単な使用 findallCHtml::listデータであると言うことができます

は、単に//

echo CHtml::dropDownList('category',$cat, $options); 
+0

ありがとう、本当に助かりました.... –

0
あなたのカテゴリIDが

エコーCHTML :: DropDownListコントロール( 'カテゴリ'、$猫を選択する=

// $猫、HTML :: listDataプロパティ(カテゴリ::モデル() - > findAllの()、 " id '、' name '));

+0

foreachループを使用する必要を使用していない」エラーを表示(category.php)が含まれます:に失敗しました。オープンストリーム:そのようなファイルやディレクトリはありません " –

+0

あなたのモデル名が正しいことを確認してくださいCategory :: model() - > findAll() – nshiv

+0

私はモデルクラスを持っていません。 –

関連する問題