Новое в Zend Framework, как я могу перевести мой php 'result' (Огромный Массив) в нечто работоспособное, например, в таблицу? - PullRequest
0 голосов
/ 24 ноября 2010
array(556) { ["A1"]=> string(9) "Timestamp" ["B1"]=> string(17) "Untitled Question" ["C1"]=> string(17) "Sample Question 1" ["D4"]=> string(23) "Project Scheduling 2010" ["AJ4"]=> string(4) "2011" ["D5"]=> string(13) "Send Feedback" ["J5"]=> string(4) "JUNE" ["N5"]=> string(3) "JUL"

^ - и т. Д. - это массив, который я получаю после успешного подключения к моей электронной таблице Google и получения фида для «всех ячеек». Проблема в том, что я новичок и не знаю, как взять этот массив в качестве источника данных, чтобы преобразовать его во что-то управляемое, как gridview / какой-нибудь эквивалент HTML-таблицы.

Что мне делать с этим массивом, если я в основном хочу просто прочитать его с помощью javascript / css, чтобы создать клон, с которым я могу работать [я имею в виду, что он выглядит как электронная таблица, в будущем с некоторыми корректировками, которые я '' Вы сможете редактировать функциональность - щелкнув по ячейке, вы откроете модальный аккордеон с информацией с другой страницы и т. д. и т. д., шт. Google Spreadsheets не позволит мне написать код в своем интерфейсе - я хочу здесь управлять].

Если мой вопрос слишком расплывчатый / подробный, я постараюсь перефразировать его.

1 Ответ

0 голосов
/ 24 ноября 2010
class My_View_Helper_GDataTable extends Zend_View_Helper_Abstract
{
    public function gDataTable($data)
    {
        $firstLetter = intval('A');
        $numCols = $this->_getNumCols($data);
        $res = '<table>';
        for ($j = 1; $j <= $numRows; $j++) {
            $res .= '<tr>';
            for ($i = $firstLEtter; $i <= $firstLetter+$numCols; $i++) {
                $res .= '<td>' . $data[$i.$j] . '</td>';
            }
            $res .= '</tr>';
        }
        $res .= '</table>';  
        return $res;          
    }

    protected function _getNumCols($data)
    {
        /*  
            to be implemented
            not sure how exactly can you do it
            zend gdata should offer some method for this
        */
    }
}

Тогда в поле зрения:

//somewhere in view init
$view->addHelperPath('some/path', 'My_View_Helper');
//in your view
$this->gDataTable($dataFromZendGdata);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...