我正在尝试使用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>
答案 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>;