如何在Cakephp中创建HTML并使其正确填充?<table> </table>

时间:2015-03-28 04:21:08

标签: php html cakephp

我有一个非常好用的CakePHP应用程序。我正在从表中检索数据,它在页面视图下生成一个很长的单列列表。我想改变它,所以它填充3列HTML表。有人知道怎么做吗?

这是我需要在3列中输出显示的行....

echo $this->Form->input('Activity', array('multiple' => 'checkbox'));

现在它只是制作了一个很长的单个列,它在页面的长度上运行,带有多个复选框。

有人有解决方案吗?

4 个答案:

答案 0 :(得分:0)

试试这段代码......我希望它会对你有帮助。

echo $ this-&gt; Form-&gt; input(&#39; Activity&#39;,array(&#39; cols&#39; =&gt; 3));

答案 1 :(得分:0)

试一试

echo $ this-&gt; Form-&gt; input(&#39; Activity&#39;,array(&#39; cols&#39; =&gt; 3,&#39; type&#39; =&gt; &#39; textarea的&#39;));

OR

echo $ this-&gt; Form-&gt; textarea(     &#39; textarea的&#39 ;,     数组(&#39;行&#39; =&gt;&#39; 5&#39;,&#39; cols&#39; =&gt;&#39; 5&#39;) );

答案 2 :(得分:0)

试试这个

<?php echo $this->Form->input('Activity', array(
    'type'=>'checkbox', 
    'multiple' => 'multiple',
    'format' => array('before', 'input', 'between', 'label', 'after', 'error') 
)); ?>

答案 3 :(得分:0)

首先,您必须将数据分为3部分。您可以通过对数据进行计数并除以3(伪代码,未经测试)来做到这一点:

$splitArray = [];
$colHeaders = ['col1', 'col2', 'col3'];
foreach($checkboxes as $index => $checkbox) {
  array_push($splitArray[floor(count($checkboxes)/3)], $checkbox);
}

HTML帮助器可以帮助您构建表:

<table>
  <?= $this->Html->tableHeaders($colHeaders) ?>
  <?= $this->Html->tableCells($splitArray)) ?>
</table>