【发布时间】:2012-05-20 05:22:42
【问题描述】:
现在我正在构建网站的视图,并使用小部件 CActiveForm 作为视图。但是,我需要显示数据库的一些内容,例如,SQL 查询的结果。那我应该怎么做才能完成目标呢?谢谢!
下面提供了我的一些代码:
<div class="form">
<?php
$form=$this->beginWidget('CActiveForm', array(
'id'=>'login-form',
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
));
?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<div class="row buttons">
<?php echo CHtml::submitButton('Login'); ?>
</div>
<div class="row radiobuttons">
<?php echo CHtml::radioButtonList(
$Paper,
'Q1No',
array('A'=>'A','B'=>'B','C'=>'C','D'=>'D'),
array('template'=>'<span class="radio">{input}{label}</span>','separator'=>''));
?>
</div>
<?php $this->endWidget(); ?>
</div><!-- form -->
这是我的代码。我需要在表单中添加一些数据库的内容。内容如下:
public function actionTaketest()
{
// Get the ID of the test paper from the URL ---ztm
if(isset($_GET['paperid']))
{
$paperid=(int)$_GET['paperid'];
$dsn = 'mysql:host=localhost;dbname=mydatabase';
$username = 'root';
$password = '000000';
$connection=new CDbConnection($dsn,$username,$password);
// establish connection. You may try...catch possible exceptions
$connection->active=true;
$rawData = Yii::app()->db->createCommand()
->select('*')
->from('Paper, Question') array(':PaperNo'=>$paperid))
->queryAll();
$dataProvider=new CArrayDataProvider($rawData, array(
'id'=>'PaperNo',
));
$connection->active=false; // close connection
$model=new LoginForm;
$this->render('form',array('model'=>$model, 'dataProvider'=>$dataProvider));
}
else
{
// Deny illegal access to the page ---ztm
throw new CHttpException(404,'invalid request');
}
}
此代码在控制器中。
【问题讨论】:
-
CActiveForm 是 html 表单的小部件。为什么要使用它来查看?你的问题不清楚,请提供一些代码sn-p。
-
在自动生成的 login.php 中,小部件用于视图,这就是我想在视图中使用它的原因。我写了一个 php 文件,如下所示: 非常抱歉,我现在未能在此处粘贴代码。在提供代码之前,我会先去看帮助。
-
您想显示数据库中的哪些内容?它与表格中收集的数据有什么关系?你的问题还不清楚
-
感谢bool.dev,我这样粘贴代码成功了。但是当我试图删除代码中的错误时,我未能使代码足够清晰。所以我只是在这里粘贴用于登录的自动生成的代码。够了吗?或者我应该尝试在这里粘贴我自己的源代码?如果有必要,我会去对代码做一些修改,以便于理解。
-
只需粘贴您的代码,让我们看看它是如何...表格中收集的数据?”
标签: yii