显示由数组使用partial创建的表

时间:2009-08-10 06:11:17

标签: zend-framework

我想以Zend表格显示一个表格。 为此,我使用了吹线

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

在application / 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"));
?>

现在我怎样才能显示上面数组中定义的表格,以便在没有Table数组的情况下获得与之前相同的结果。

我也测试过 http://framework.zend.com/manual/en/zend.view.helpers.html#zend.view.helpers.initial.partial 但未能得到他们的分数

你好; - &gt; 我有一些进步。但它只适用于一个表,代码是:

  形成。 $这 - &GT;偏( “学生/ lunchinfoTable.phtml”,         array(“columnName1”=&gt;“注册日期”,                 “columnName2”=&gt; “取消日期”,                 “columnName3”=&gt; “评论”));   ?&GT;

在我写的phtml文件中写道:

  

     
  逃生($这个 - &GT; columnName1);?&GT;   逃生($这个 - &GT; columnName2);?&GT;   逃生($这个 - &GT; columnName3);?&GT;       

但是我需要尽可能地将它应用于许多桌子。 即:我想创建一些通用代码,以便我只传递这些字段的表字段名称及其值,然后显示带有传递字段的表。

2 个答案:

答案 0 :(得分:0)

试试这个:

<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>

我假设对于所有行,数组键是相同的。如果情况并非总是如此,则可以传入一个列数组,并仅根据该数组输出列。

答案 1 :(得分:0)

<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>