des1roer
@des1roer
ученье - свет, а неученье - приятный полумрак

Yii вывод таблицы из базы?

пытаюсь вывести аккуратную табличку в column2.
делаю так.

<?php 
    $connection=Yii::app()->db;
    $sql="SELECT 
        `F_ID`,
        `F_Name`
        FROM 
        `tbl_department`;";
    $dataReader=$connection->createCommand($sql)->query();
    // привязываем первое поле (username) к переменной $username
    $dataReader->bindColumn(1,$F_ID);
    // привязываем второе поле (email) к переменной $email
    $dataReader->bindColumn(2,$F_Name);
    echo '<table>';
    while($dataReader->read()!==false)
    {
        // переменные $username и $email получают значения полей username и email текущей строки        
        echo '<tr><td>'.$F_ID.'</td><td>'.$F_Name.'</td></tr>';       
    }
    echo '</table>';
    ?>


не знаю как сделать это средствами yii
  • Вопрос задан
  • 3414 просмотров
Решения вопроса 1
h0001
@h0001
RoR / React Developer @ Shakacode
Для этого можно воспользоваться виджетом CGridView
$sql = 'SELECT  F_ID, F_Name FROM tbl_department;';
$rawData = Yii::app()->db->createCommand($sql);
$count = Yii::app()->db->createCommand('SELECT COUNT(*) FROM (' . $sql . ') as count_alias')->queryScalar(); 
 
 
        $model = new CSqlDataProvider($rawData, array( 
                    'keyField' => 'F_ID', 
                    'totalItemCount' => $count,
                    'sort' => array(
                        'attributes' => array(
                            'F_ID'
                        ),
                        'defaultOrder' => array(
                            'F_ID' => CSort::SORT_ASC, 
                        ),
                    ),
                    'pagination' => array(
                        'pageSize' => 10,
                    ),
                ));
 
        $this->render('anActionView', array(
            'model' => $model,
        ));

В файле представления:
$this->widget('zii.widgets.grid.CGridView', array(
    'id' => 'a-grid-id',
    'dataProvider' => $model,
    'ajaxUpdate' => true, 
    'filter' => null, 
    'columns' => array(
        array(
            'header' => 'Айди',
            'name' => 'F_ID',
        ),
        array(
            'header' => 'Имя',
            'name' => 'F_Name',
        ),
    ),
));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы