Показать таблицу, созданную массивом с использованием частичного - PullRequest
0 голосов
/ 10 августа 2009

Я хочу отобразить таблицу в форме Zend. Для этого я использовал линии раздувания

<?php 
    echo $this->form. $this->partial("staff/medicalTable.phtml");
?>

в приложении / views / scripts / medical / index.phtml Работает нормально. Но теперь я хочу отобразить эту таблицу в Zend Form, используя массив. Для этого я создаю массив как:

<?php

/**
 * Array contain Table Column Name and Column records.
 */
    $table = array("columnName" => array("Date","Type","Comment"),
            "columnVariables" => array("1/1/09","Hepatites A","Ok"));
?>

А теперь, как я могу отобразить мою таблицу, как определено в приведенном выше массиве, чтобы я мог получить тот же результат, что и раньше, когда не было массива для таблицы.

Я тоже тестирую http://framework.zend.com/manual/en/zend.view.helpers.html#zend.view.helpers.initial.partial но не в состоянии получить свои очки

ПРИВЕТ; -> У меня есть некоторый прогресс. но это только для одной таблицы, код:

форма. $ This-> частичная ( "Студенты / lunchinfoTable.phtml", массив ("columnName1" => "Дата регистрации", "columnName2" => "Дата отменена", "columnName3" => "Комментарий")); ?>

и в своем phtml-файле я написал:


побег ($ this-> имя_столбца1);?> побег ($ this-> имя_столбца2);?> побег ($ this-> columnName3);?>

Но мне нужно применить его ко многим таблицам, как я мог. то есть: я хочу создать некоторый общий код, чтобы я только передавал имена полей таблицы и их значения для этих полей, а затем отображал таблицу с пропущенными полями.

Ответы [ 2 ]

0 голосов
/ 11 августа 2009
<table class="DataTable tablesorter" width="100%" valign="top" align="center" border="0" cellpadding="2" cellspacing="2" width="100%">  
    <thead>
        <tr>
            <th width="1%"><input type="checkbox" name="mcb"></th> 
                <?php foreach ( $this->dataStructure as $heading ) { ?> 
                    <th nowrap="yes"><?php echo $this->escape($heading['columnName']); ?></th> 
                <?php }?> 
        </tr>
    </thead>
    <tbody>
        <?php foreach ( $this->dataValues as $value ) { ?>
            <tr>                                            
                <td><input type="checkbox" name="mcb"></td>
                    <?php foreach ( $this->dataStructure as $heading ) { ?>
                    <td>
                        <?php 
                            foreach ( $heading['columnVariables'] as $var ) {
                                echo $value[$var].'&nbsp;';
                            }
                        ?>
                    </td>                                           
                    <?php }?>
            </tr> 
        <?php }?>                                       
    </tbody>
</table>
0 голосов
/ 10 августа 2009

Попробуйте это:

<table>
    <thead>
        <tr>
            <? foreach(array_keys($this->data[0]) as $column) { ?>
            <th><?=$this->escape($column);?></th>
            <? } ?>
        </tr>
    </thead>
    <tbody>
        <? foreach($this->data as $row) { ?>
        <tr>
            <? foreach($row as $value) { ?>
            <td><?=$this->escape($value);?></td>
            <? } ?>
        </tr>
        <? } ?>
    </tbody>
</table>

Я предполагаю, что для всех строк ключи массива одинаковы. Если это не всегда так, вы можете передать массив столбцов и вывести столбцы только на основе этого массива.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...