2011-12-31 80 views
0

我需要你的幫助..我正在使用yii創建一個關於書籍條目的web應用程序。 在我需要從一個表中下拉一個isbn數字,應該檢索在另一個文本字段或下拉框中同一行中的relavive書標題....我希望你明白我的概率,請給建議。我的編碼的HTML視圖頁面我需要爲同一行中的相同列創建依賴下拉列表

<div class="row"> 
    <?php echo $form->labelEx($model,'isbn_no'); ?> 
    <?php echo $form->dropDownList($model,'isbn_no',CHtml::listData(Books::model()->findAll(array('order'=> 'isbn_no ASC')),       'isbn_no', 'isbn_no'),array('empty'=>'Select'),array(
        'ajax' => array(
        'type' => 'POST', 
        'url' => CController::createUrl('Processcontroller/Book'), 
        'update' => "#book_title" 
       )));?> 
    <?php echo $form->error($model,'isbn_no'); ?> 
</div> 

<div class="row"> 
    <?php echo $form->labelEx($model,'book_title'); ?> 
<?php echo $form->dropDownList($model,'book_title','',array(),array('empty'=>'select')); 

    <?php echo $form->error($model,'book_title'); ?> 
</div> 

我叫ProcessController.php

public function actionBook() 
{ 
//please enter current controller name because yii send multi dim array 
    $data=Books::model()->findAll('book_id=:book_id', 
        array(':book_id'=> $_POST['current-Controller']['book_id'])); 

    $data=CHtml::listData($data,'isbn_no','book_title'); 
    foreach($data as $value=>$name) 
    { 
     echo CHtml::tag('option', 
        array('value'=>$value),CHtml::encode($name),true); 
    } 
} 

.... 我的表會像下面名爲Books book_id(PK)控制器| isbn_no | book_title |

回答

1

我可以在你的代碼中看到的唯一的問題是,

在控制器

$data=Books::model()->findAll('book_id=:book_id', 
       array(':book_id'=> $_POST['current-Controller']['book_id'])); 

,而你應該爲你是從到控制器的形式發送isbn_no比較isbn_no ...

$data=Books::model()->findAll('isbn_no=:isbn_no', 
       array(':isbn_no'=> $_POST['current-Controller']['isbn_no'])); 

如果顯示其他錯誤,請提及..因爲代碼似乎沒問題......而且您還沒有提及錯誤是什麼..

+0

嗨,我得到了這樣的錯誤....無效參數提供了foreach()在視圖文件代碼下面.... <?php echo $ form-> dropDownList($ model,'book_title','',陣列(),陣列( '空'=> '選擇'));?> – jayanthan 2012-01-03 05:00:05