从数组中处理PHP表生成中的空白列

时间:2012-03-20 01:06:25

标签: php

我正在创建一个包含以下代码的表格字段的三列表格。每行有三列。如果字段总数不是三的倍数,则最后一行在其余列中不包含空白表单字段。

如何修改此内容以填写空白表单字段的剩余列?

<?php
$listCount = count($col);

for ($i = 0; $i < $listCount; ++$i) {    
    if($i % 3 == 0) {
        echo '<tr class="list_row">'; 
    } ?>

    <td><input type="text" style="width: 190px;" name="inputCol1[]" value="<?php echo $col[$i] ?>" /></td>
         
    <?php 
    if($i % 3 == 3) {
         echo '</tr>'; 
    }
}  
?>

2 个答案:

答案 0 :(得分:0)

您需要在for循环后完成最后一行:

for ($i = 0; $i < $listCount; ++$i) {  
  ...
}
if ( ($i % 3) < 2 ) {
  do {
    echo "<td>...</td>";
    $i++;
  } while ($i % 3 != 2);
}

此外,请查看您问题下方的评论,因为$i % 3永远不会是3

注意:我真的应该将ifdo合并到一个不错的条件/循环中,但为时已晚,这应该至少有效......

答案 1 :(得分:-1)

只需更改

 if($i % 3 == 3) {
     echo '</tr>'; 
}

if($i % 3 == 2) {   
     echo '</tr><br />'; 
}

它会起作用。