2013-04-21 91 views
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中的所有表行?”

任何帮助表示赞赏!

回答

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_3替换$place_2

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