0

如果自定义字段中没有数据,我想知道是否有可以用来防止表格行形成的代码。

例如这是我的表:

        <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 的所有表行?”

任何帮助表示赞赏!

4

2 回答 2

4

您可以简单地使用 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_3时进行压制。$place_2我假设$place_3在这种情况下会是空的,所以你可以对那个tr元素应用相同的方法,$place_2$place_3.

于 2013-04-21T05:12:39.990 回答
0

您也可以使用 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
?>
于 2013-04-21T05:38:45.350 回答