如果自定义字段中没有数据,我想知道是否有一个代码可以用来防止表行形成。
例如这是我的表:
<tr>
<td><?php echo $place_1; ?></td>
<td><?php echo $person_1; ?></td>
<td><?php echo $status_1; ?></td>
<td><a href="<?php echo $website_1; ?>"></a></td>
</tr>
<tr>
<td><?php echo $place_2; ?></td>
<td><?php echo $person_2; ?></td>
<td><?php echo $status_2; ?></td>
<td><a href="<?php echo $website_2; ?>"></a></td>
</tr>
<tr>
<td><?php echo $place_3; ?></td>
<td><?php echo $person_3; ?></td>
<td><?php echo $status_3; ?></td>
<td><a href="<?php echo $website_3; ?>"></a></td>
</tr>
我怎么能使它"如果$place_2是空的,隐藏所有的表行2和3?"
任何帮助都是感激的!
您可以简单地使用PHP只输出非空的行:
...
</tr>
<?php if ($place_2 != "") { ?>
<tr>
<td><?php echo $place_2; ?></td>
<td><?php echo $person_2; ?></td>
<td><?php echo $status_2; ?></td>
<td><a href="<?php echo $website_2; ?>"></a></td>
</tr>
<?php } ?>
<tr>
...
这种方法将tr
元素封装在if
块中。还有其他很多方法可以达到同样的结果,这可能会出现在其他答案中。从你的问题看来,当$place_2
空的时候,你也要抑制$place_3
。我假设在这种情况下$place_3
将为空,因此您可以对tr
元素应用相同的方法,将$place_2
替换为$place_3
。
也可以使用WHILE循环。这将适用于任何数量的行。只需将4替换为While
条件
<?php
$i=0;
while($i<4)
{
if($place_.$i == "")
break; // if $place_ variable is empty no further rows are printed.
else
{
?>
<tr>
<td><?php echo $place_.$i; ?></td>
<td><?php echo $person_.$i; ?></td>
<td><?php echo $status_.$i; ?></td>
<td><a href="<?php echo $website_.$i; ?>"></a></td>
</tr>
<?php
} // closing bracket of else
$i = $i + 1;
} //end of while loop
?>