如何在没有空格的情况下将表数据放在一起?

时间:2016-01-04 22:59:12

标签: php html mysql mysqli

如果一行[&#39;&#39;]为空。价值不会被回应(目前它不在代码中,我只想在每个<td>上添加一个if语句)

目前,如果某些<td>为空,那么它们都会像这样回显,全部都是空的空格:

- - - -
-   - 
  - -

我根本不想要空的空间。我希望它是这样的:

- - - -
- - 

我该怎么做?

<table style="width:100%">
         <tr>
      <td>body:<?php echo $row['body']; ?></td>
      <td>Length:<?php echo $row['Length']; ?></td>
      <td>Weight:<?php echo $row['Weight'];</td>
    </tr>
     <tr>
      <td>asd: <?php echo $row['asd']; ?></td>
      <td>vbn: <?php echo $row['vb']; ?></td>
      <td>zxc: <?php echo $row['zxc']; ?></td>
    </tr>
    </table>

2 个答案:

答案 0 :(得分:2)

试试这个:

<table style="width:100%">
<?php
$cols = 0;
echo "<tr>";
foreach ($row as $key => $value) {
  if ($value != ""){

    if ($cols % 3 == 0 && $cols != 0) {
      echo"</tr><tr>";
    }
    $cols++;
    echo "<td>$key: $value</td>";
  }
}
echo "</tr>";
?>
</table>

答案 1 :(得分:1)

类似的东西:

<td>body:<?php if(empty($row['body'])) { echo '&nbsp'; } else { echo $row['body']; } ?></td>

或更简单:

<td>body:<?php echo (empty($row['body'])) ? '&nbsp' : $row['body']; ?></td>

换句话说,如果值为空,则回显&nbsp;

或者更确切地说,现在我更了解您的问题:

<?php if(!empty($row['body'])) { echo '<td>body:' . $row['body'] . '</td>'; } ?>

我首先想到的问题是,如果你<td></td>,浏览器甚至不渲染空白区域,而是将该单元格折叠,就像它不存在一样。但显然你想要的是压制没有数据的单元格,这意味着将if语句扩展到整个TD而不是TD的内部。