如果数据不存在,则隐藏表行

时间:2013-04-21 05:07:09

标签: php wordpress

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

例如,这是我的表:

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

感谢任何帮助!

2 个答案:

答案 0 :(得分: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_3为空时,您似乎也想要取消$place_2。在这种情况下,我假设$place_3为空,因此您可以对tr元素应用相同的方法,用$place_2替换$place_3

答案 1 :(得分: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
?>