С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: Yii, Yii2
Войти
Регистрация
Восстановить пароль
 
Server689
1 / 1 / 0
Регистрация: 02.09.2014
Сообщений: 61
1

Yii1 CGridView

01.08.2017, 13:47. Просмотров 312. Ответов 1
Метки нет (Все метки)

Подскажите как в шапке таблицы вывести дату по столбцам.

есть контроллер
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
     private function statOrders1(&$data)
    {
        $query = array(
            //'select' => 'site_id, s.shop_id, count(*) AS countOrders1, sum(order_total) AS sumOrders1, GROUP_CONCAT(CONCAT(created, "#" , order_total)) AS created1',
            'select' => 'site_id, s.shop_id, count(*) AS countOrders1, sum(order_total) AS sumOrders1, DATE_FORMAT(created, "%m.%Y") AS qwe',
            'from' => 'order o',
            'join' => 'LEFT JOIN `order_shop` s ON o.order_id = s.order_id',
            'where' => array('and', 'o.removed=0'),         
            'where' => ('o.created>=:date_begin and o.created<:date_end'),
            'group' => 'site_id, shop_id, qwe',
            //'group' => 'qwe',
        );
        
        
        $where = ['and', 1];
        $params = [];
        $date = $this->getCreatedDate();
        if ($date['begin'])
        {
            $where[] = 'o.created>=:date_begin';
            $params[':date_begin']  = date('Y-m-d', CDateTimeParser::parse($date['begin'], Yii::app()->locale->dateFormat));
        }
        if ($date['end'])
        {
            $where[] = 'o.created<:date_end';
            $params[':date_end'] = date('Y-m-d', CDateTimeParser::parse($date['end'], Yii::app()->locale->dateFormat));
        }
        if (count($where)>1)
        {
            $query['where'] = $where;
            $query['params'] = $params;
        }
        
        $this->setCreatedParams($query);
       // print_r($query);die;
        $command = $this->db()->createCommand($query);
        $this->mergeData($data, $command->queryAll());
        
        
    }
есть вьюха, которая формирует грид
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
$this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'site-grid',
    'dataProvider'=>$dataProvider,
    //'filter'=>$dataProvider->model,
    'columns'=>array(
        array( 
           'name' => '', 
           'class' => 'CCheckBoxColumn', 
           //'checked'=> '$data->active',
           'value'=> '$data["id"]',
           'header'=>'Вкл.',
           'selectableRows' => 10,
           //'checkBoxHtmlOptions'=>array('onclick'=>'$.get(\'/admin/page/active/id/\'+this.value+\'/e/\'+(this.checked?1:0),\'\',function(data){} );'),
        ),
        //'site_id',
        array('name' => 'name', 'header' => 'Сайт', 'footer' => 'Итого: '),
        array('name' => 'countOrders1', 'headerHtmlOptions'=> array('style'=>'display: none;'), 'footer' => $footer['countOrders1']),
        array('name' => 'sumOrders1', 'header' => 'Количество заказов<br> (Кол-во / Сумма)', 'headerHtmlOptions'=> array('colspan'=>2), 'footer' => $footer['sumOrders1']),
        array('name' => 'qwe', 'header' => 'Месяц', 'headerHtmlOptions'=> array('colspan'=>1), 'footer' => $footer['sumOrders']),
        
                
        //array('name' => 'countPosts', 'headerHtmlOptions'=> array('style'=>'display: none;'), 'footer' => $footer['countPosts']),
       // array('name' => 'sumPosts', 'header' => '<span title=1088bcПо созданным за указанный период заказам1088bc>Посылок по заказам <b>(?)</b></span><br>(Кол-во / Сумма)', 'headerHtmlOptions'=> array('colspan'=>2), 'footer' => $footer['sumPosts']),
        
        //array('name' => 'countPostsCreated', 'headerHtmlOptions'=> array('style'=>'display: none;'), 'footer' => $footer['countPostsCreated']),
        //array('name' => 'sumPostsCreated', 'header' => '<span title=1088bcПо всем заказам, учитывается фильтр по дате создания посылки1088bc>Посылок создано <b>(?)</b></span> <br>(Кол-во / Сумма)', 'headerHtmlOptions'=> array('colspan'=>2), 'footer' => $footer['sumPostsCreated']),
        
        //array('name' => 'countPostsShipped', 'headerHtmlOptions'=> array('style'=>'display: none;'), 'footer' => $footer['countPostsShipped']),
        //array('name' => 'sumPostsShipped', 'header' => '<span>Посылок отправлено <b>(?)</b></span><br> (Кол-во / Сумма)', 'headerHtmlOptions'=> array('colspan'=>2), 'footer' => $footer['sumPostsShipped']),
        
        
        //array('name' => 'qwe', 'header' => '<span> Дата</span>', 'headerHtmlOptions'=> array('colspan'=>1)),
        
    ),
));
Нужно вывести в таком виде:
Дата1 Дата2 Дата3
сайт1 сумма1 сумма4 сумма7
сайт2 сумма2 сумма5 сумма8
сайт3 сумма3 сумма6 сумма9
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2017, 13:47
Ответы с готовыми решениями:

Yii CGridView
Доброго времени. У меня есть табличка TestAlbum она связана связью HAS_MANY с...

Yii: фильтр в CGridView
Может кто-то уже сталкивался с подобной проблемой. На странице имеется...

Связанная запись в CGridView в Yii
Здравствуйте. У меня возникла проблема с выводами полей таблицы... эти поля...

Yii, скрыть столбец в CGridView
Подскажите пожалуйста как скрыть столбец в виджите grid.CGridView. Есть ли...

Yii. Работа с несколькими таблицами и отображение их в CGridView
В сети есть решения данной задачи. Есть хорошие и есть плохие. Например,...

1
plohoyav
296 / 309 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
02.08.2017, 15:26 2
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'site-grid',
    'dataProvider'=>$dataProvider,
    'columns'=>array(
        array( 
           'name' => '', 
           'class' => 'CCheckBoxColumn', 
           //'checked'=> '$data->active',
           'value'=> '$data["id"]',
           'header'=>'Вкл.',
           'selectableRows' => 10,
           //'checkBoxHtmlOptions'=>array('onclick'=>'$.get(\'/admin/page/active/id/\'+this.value+\'/e/\'+(this.checked?1:0),\'\',function(data){} );'),
        ),
        //'site_id',
        array('name' => 'name', 'header' => 'Сайт'),
        array('name' => 'sumOrders1', 'header' => 'Дата1'),
        array('name' => 'sumOrders2', 'header' => 'Дата2'),
        array('name' => 'sumOrders3', 'header' => 'Дата3'),    
    ),
));
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.08.2017, 15:26

Yii1 интернационализация Yii t
Добрый день, у меня возник маленький вопрос на счет функции Yii::t() В...

YII1 - Админ-панель
Подскажите пожалуйста как реализовать админку в уии( версия 1.5). Есть модели...

Payu Для yii1
Всем, привет, подскажите есть ли компонент для yii1, чтобы подключить платежную...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru