在Yii中以表格形式显示数据库中的数据

时间:2014-03-29 12:18:56

标签: php templates yii

我的表格中存有一些数据。如何在视图部分以表格形式显示它们?我访问了Yii论坛,但没有任何具体的选项来执行该操作。

查看作业的操作:

public function actionViewJob() {
    $criteria = "";
    $model = new ViewJob();

    /* What Should I do Here */

    $this->render('viewjob', array(
        'model' => $model
    ));
}

以及从数据库中列出数据的相应视图:

/* What should I do Here.  */
<h1>View Jobs</h1>

<div class="flash-success"></div>
<div class="form">
    <table width="100%" border="0" cellspacing="0" cellpadding="0" id="filtertable" style="float: left;">
        <thead>
            <tr>
                <th width="11%" class="rowtop">No</th>
                <th width="24%" class="rowtop">Title</th>
                <th width="10%" class="rowtop">Description</th>
                <th width="10%" class="rowtop">No_Vacancy</th>
                <th width="10%" class="rowtop">Contact Email</th>
                <th width="10%" class="rowtop">Edit</th>
                <th width="10%" class="rowtop">Delete</th>
            </tr>
        </thead>
        <tbody>
            <?php // foreach ($posts as $post): ?>
            <tr>
                <td width="11%">
                    <?php ?>
                </td>
                <td width="24%">
                    <?php ?>
                </td>
                <td width="14%">
                    <?php ?>
                </td>
                <td width="14%">
                    <?php ?>
                </td>
                <td width="14%">
                    <?php ?>
                </td>
                </a>
                </td>
                </a>
                </td>
            </tr>
            <?php //endforeach; ?>
        </tbody>
    </table>
    <!-- form -->

2 个答案:

答案 0 :(得分:1)

在您的操作中,请致电您的观点。

public function actionViewJob() {
        $model = new Job('search');

        $params =array('model'=>$model,
        );

        $this->render('viewjob', $params);
    }

将您的数据作为CActiveDataProvider对象获取。

在您的模型中,创建搜索功能

public function search() {
    $criteria=new CDbCriteria;

    // TODO: Add other search criteria here
    $criteria->compare('username','Tom',true);

    return new CActiveDataProvider('Jobs', array(
        'criteria'=>$criteria,
        'sort'=>array(
            'defaultOrder'=>'username ASC',
        ),
    ));
}

然后,在您的视图中

$this->widget('zii.widgets.grid.CGridView', array(
        'dataProvider' => $model->search(),
        'filter' => $model,
        'columns' => array(
            array(
                'name' => 'title',
                'type' => 'raw',
                'value' => 'CHtml::encode($data->title)'
            ),
            array(
                'name' => 'description',
                'type' => 'raw',
                'value' => 'description',
            ),
        ),
    ));

答案 1 :(得分:0)

首先,您应该通过CActiveDataProvider在控制器中获取表数据。然后在视图中你可以使用widget - CGridView。使用此小部件,您可以设置所需的参数。列,过滤器等。您也可以粘贴代码,我们将尝试确定您的问题。 Yii很容易:)