繁体   English   中英

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

[英]Hide table row if data doesn't exist

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

例如,这是我的表:

        <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循环。 这将适用于任意数量的行。 只需用While条件中要检查的行数替换4

<?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
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM