使用表中的php循环创建四列

时间:2015-04-03 14:57:03

标签: php html

我正在尝试使用php循环制作表的4列布局,因此它也是有条件的。我无法创建四列,因为浏览器会在没有trs的情况下自动为tds插入tr。也许我错过了一些东西......

我的代码

<?php $i=0; while($row = $result->fetch_assoc()){ ?>
<?php if($i % 4){ echo "<tr>"; echo $i;} ?>
<td><?= $row['Zip_Code']?></td>
<td><input type="checkbox" name="zipcode[]" id="zip_<?= $row['Zip_Code']?>" value="<?= $row['Zip_Code']?>" <?php echo (in_array($row['Zip_Code'], $zipcodes))? 'checked':'';?> ><label class="zip_label" for="zip_<?= $row['Zip_Code']?>"></label></td>
<?php if($i % 4){ echo "</tr>"; } ?>
<?php $i++; } ?>

我想要的输出

<tr>
<td>blah </td>
<td>blah </td>
<td>blah </td>
<td>blah </td>
</tr>

但它显示我喜欢这个

<tr>
<td>blah </td>
<td>blah </td>
</tr>

2 个答案:

答案 0 :(得分:2)

这是你想要做的:

<?php $i=0; while($row = $result->fetch_assoc()){ ?>
<?php if($i % 2 == 0){ echo "<tr>";} ?>
<td><?= $row['Zip_Code']?></td>
<td><input type="checkbox" name="zipcode[]" id="zip_<?= $row['Zip_Code']?>" value="<?= $row['Zip_Code']?>" <?php echo (in_array($row['Zip_Code'], $zipcodes))? 'checked':'';?> ><label class="zip_label" for="zip_<?= $row['Zip_Code']?>"></label></td>
<?php if($i % 2 != 0){ echo "</tr>"; } ?>
<?php $i++; } ?>

输出将是:

<tr>
<td>1</td>
<td><input type="checkbox" name="zipcode[]" id="zip_1" value="1" checked ><label class="zip_label" for="zip_1"></label></td>
<td>2</td>
<td><input type="checkbox" name="zipcode[]" id="zip_2" value="2" checked ><label class="zip_label" for="zip_2"></label></td>
</tr>


<tr>
<td>3</td>
<td><input type="checkbox" name="zipcode[]" id="zip_3" value="3" checked ><label class="zip_label" for="zip_3"></label></td>
<td>4</td>
<td><input type="checkbox" name="zipcode[]" id="zip_4" value="4" checked ><label class="zip_label" for="zip_4"></label></td>
</tr>

答案 1 :(得分:-1)

这应该有用;

$i = 1;

 echo "<tr>";
 while($i <= 10){

  echo '<td>' . $i . '</td>';

   $i++;
 }
 echo "</tr>;