Передача данных из класса PHP в PHPExcel через AJAX

я застрял с ООП PHP и данными json. Я не новичок в ООП, но я не могу понять это. если кто-нибудь может объяснить мне, было бы здорово!

У меня есть следующий объект сетки в PHP:

    Class Grid {

        var $data;
        var $joins;
        var $fields;
        var $where;
        var $table;
        var $groupBy;
        var $having;
        var $limit;
        var $order_by;
        var $sort;
        var $security;
        var $set;
        var $sql;

....

        // loads data into the grid
        function load() {
    ...
            // setup the sql - bring it all together
            $sql = "
                SELECT $post[cols]
                FROM `$table`
                $joins
                $where
                $groupBy
                $having
                ORDER BY $order_by $sort
                $limit
            ";

            $this->sql = $sql;

            // execute the sql, get back a multi dimensial array
            $rows = $this->_queryMulti($sql);

            // form an array of the data to send back
            $data = array();
            $data['rows'] = array();
            foreach($rows as $i=>$row) {
                foreach($row as $col=>$cell) {
                    // use primary key if possible, other wise use index
                    $key = $primaryKey ? $row[$primaryKey] : $i;
                    // primary key has an _ infront becuase of google chrome re ordering JSON objects
                    //http://code.google.com/p/v8/issues/detail?id=164
                    $data['rows']["_".$key][$col] = $cell;
                }
            }

    ...        
            $data['order_by'] = $order_by;
            $data['sort'] = $sort;
            $data['page'] = $page;
            $data['start'] = $startRow + 1;
            $data['end'] = $startRow + $nRowsShowing;
            $data['colData'] = $colData;

            $this->data = $data;
        }

и он вызывается AJAX callgrid.php:

$grid->load();
        // here we need to add field in data[sql] = sql query, then we can pass it to toExcel() - how?
        echo json_encode($grid->data);

то, что я пытаюсь получить, - это возможность экспортировать текущий sql-запрос (это может быть весь или поиск результаты) в Excel с помощью PHPExcel. Итак, у меня есть toExcel.php с функцией toexcel ($ query), которая принимает запрос и экспортирует его в Excel.

сейчас - КАК передать sql-запрос из grid в toexcel через AJAX?

  1. Я понимаю, что мне нужно добавить в $ data ():

    $ data ['sql'] = $ sql;

] что дальше?


ОБНОВЛЕНИЕ: Я использую следующую сетку jquery: http://square-bracket.com/openjs

Я понимаю, что PHPExcel должен запускаться сеткой или jquery

6
задан Elen 13 February 2012 в 15:41
поделиться