如果一行[&#39;&#39;]为空。价值不会被回应(目前它不在代码中,我只想在每个<td>
上添加一个if语句)
目前,如果某些<td>
为空,那么它们都会像这样回显,全部都是空的空格:
- - - -
- -
- -
我根本不想要空的空间。我希望它是这样的:
- - - -
- -
我该怎么做?
<table style="width:100%">
<tr>
<td>body:<?php echo $row['body']; ?></td>
<td>Length:<?php echo $row['Length']; ?></td>
<td>Weight:<?php echo $row['Weight'];</td>
</tr>
<tr>
<td>asd: <?php echo $row['asd']; ?></td>
<td>vbn: <?php echo $row['vb']; ?></td>
<td>zxc: <?php echo $row['zxc']; ?></td>
</tr>
</table>
答案 0 :(得分:2)
试试这个:
<table style="width:100%">
<?php
$cols = 0;
echo "<tr>";
foreach ($row as $key => $value) {
if ($value != ""){
if ($cols % 3 == 0 && $cols != 0) {
echo"</tr><tr>";
}
$cols++;
echo "<td>$key: $value</td>";
}
}
echo "</tr>";
?>
</table>
答案 1 :(得分:1)
类似的东西:
<td>body:<?php if(empty($row['body'])) { echo ' '; } else { echo $row['body']; } ?></td>
或更简单:
<td>body:<?php echo (empty($row['body'])) ? ' ' : $row['body']; ?></td>
换句话说,如果值为空,则回显
。
或者更确切地说,现在我更了解您的问题:
<?php if(!empty($row['body'])) { echo '<td>body:' . $row['body'] . '</td>'; } ?>
我首先想到的问题是,如果你<td></td>
,浏览器甚至不渲染空白区域,而是将该单元格折叠,就像它不存在一样。但显然你想要的是压制没有数据的单元格,这意味着将if语句扩展到整个TD而不是TD的内部。