dependent dropdown list with some condition

Hi,

i want a dependent dropdown list.

my table is : course , Subject ,subject type

now based on course selection i need subjects.

i ve done this upto this…it works successfully…

but my question is that i want to print subject with its type like

Maths-(Theory)

Maths(Practical)

my code is given below:

dependent controller my action looks like :


 public function actiongetCoursesubject()

        {

	    $data=array();  

		$data = Yii::app()->db->createCommand()

		    ->select('subject_master_id, subject_master_name') 

		    ->from('subject_master')

		    ->where('subject_master_course_id='.(int) $_REQUEST['EmpAssignSubject']['sub_course_id'].' and academic_term_id ='.(int) $_REQUEST['EmpAssignSubject']['sub_academic_term_id'])

		    ->queryAll();

		$data=CHtml::listData($data,'subject_master_id','subject_master_name');

		echo "<option value=''>Select Subject</option>";

            foreach($data as $value=>$name)

            {	

		  echo CHtml::tag('option',

			   array('value'=>$value),CHtml::encode($name),true);

            } 

		

	

         }

in the above i ve set like


foreach($data as $value=>$name)

            {	

$type = SubjectType::model()->findByPk($name['subject_master_type_id'])->subject_type_name;			 

 echo CHtml::tag('option',

			   array('value'=>$value),CHtml::encode($name.'('.$type.')'),true);

            } 




but still it not give me proper…

and in my form.php code is like


<div class="row">

	 <?php if(!empty($model->sub_course_id)) { ?>

		<?php echo $form->labelEx($model,'sub_academic_term_id'); ?>

		<?php echo $form->dropDownList($model,'sub_academic_term_id',CHtml::listData(AcademicTerm::model()->findAll('course_id='.$model->sub_course_id),'academic_term_id','academic_term_name'),array(

			'prompt'=>'Select Semester',

			'ajax' => array(

			'type'=>'POST', 

			'url'=>CController::createUrl('dependent/getCoursesubject'), 

			'update'=>'#EmpAssignSubject_subject_id', //selector to update

			))); ?><span class="status">&nbsp;</span>

		<?php echo $form->error($model,'sub_academic_term_id'); ?>

		 <?php }

		else {

			echo $form->labelEx($model,'sub_academic_term_id'); ?>

			<?php echo $form->dropDownList($model,'sub_academic_term_id',CHtml::listData(AcademicTerm::model()->findAll(),'academic_term_id','academic_term_name'),array(

			'prompt'=>'Select Semester',

			'ajax' => array(

			'type'=>'POST', 

			'url'=>CController::createUrl('dependent/getCoursesubject'), 

			'update'=>'#EmpAssignSubject_subject_id', //selector to update

			))); ?><span class="status">&nbsp;</span>

			<?php echo $form->error($model,'academic_term_id'); 

		    }

			?>

	</div>	

	<div class="row">

		<?php echo $form->labelEx($model,'subject_id'); ?>

		<?php echo $form->dropDownList($model,'subject_id', array(), array('prompt'=>'Select Subject')); ?><span class="status">&nbsp;</span>

		<?php echo $form->error($model,'subject_id'); ?>

	</div>

thanks

Hi,

i got my solution,regarding my question:

that dependent dropdown list of subject with its subject type…

here is the code of my dependent controller action code…

its easy…




public function actiongetCoursesubject()

        {

	    $data=array();  

		$data = Yii::app()->db->createCommand()

		    ->select('subject_master_id, subject_master_name') 

		    ->from('subject_master')

		    ->where('subject_master_course_id='.(int) $_REQUEST['EmpAssignSubject']['sub_course_id'].' and academic_term_id ='.(int) $_REQUEST['EmpAssignSubject']['sub_academic_term_id'])

		    ->queryAll();

		$data=CHtml::listData($data,'subject_master_id','subject_master_name');

		echo "<option value=''>Select Subject</option>";

            foreach($data as $value=>$name)

            {	

		$sub_mas = SubjectMaster::model()->findByPk($value);

		$type = SubjectType::model()->findByPk($sub_mas->subject_master_type_id)->subject_type_name;

                echo CHtml::tag('option',

			   array('value'=>$value),CHtml::encode($name.'('.$type.')'),true);

            } 

		

	

         }