我需要你的帮助..我正在使用yii创建一个关于书籍输入的Web应用程序。 在一个表格中,我需要从一个表中下拉一个isbn数字,该表格应该检索另一个文本字段或下拉框中相同行的相关书籍标题....我希望你理解我的概率请给出建议。我是编码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);
}
}
.... 我的桌子就像下面的名字 book_id(PK)| isbn_no | book_title |
答案 0 :(得分: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']));
如果出现其他一些错误,那么请提一下......因为代码似乎没问题......而你还没有提到错误是什么..