【问题标题】:Embedded if statement in a PHP generated table在 PHP 生成的表中嵌入 if 语句
【发布时间】:2018-06-08 23:15:19
【问题描述】:

我有一个由 PHP 构建的表。有时,$row[6]、$row[7] 和/或 $row[8] 中的值可能是“none”(非 NULL)。发生这种情况时,我想回显一个空格。我意识到这可能需要一个 IF 语句,但我无法弄清楚。任何帮助,将不胜感激!谢谢。

while($row = mysql_fetch_row($query)){
echo "<tr>";        
echo "<td>  {$row[1]} </td>";
echo "<td>  {$row[2]} </td>";
echo "<td>  {$row[3]} </td>";
echo "<td>  {$row[4]} </td>";
echo "<td>  {$row[5]} </td>";
echo "<td>  {$row[6]} </td>";
echo "<td>  <a href='{$row[7]}'>BluuGnome</a>                       
        <a href='{$row[8]}'>CanyoneeringUSA</a>
        <a href='{$row[9]}'>Climb UT</a> </td>";

【问题讨论】:

  • 现在,我看不到您关闭&lt;tr&gt; 的位置,而且看起来所有其他$row[i] 都在单元格内,而不是行...你想要什么最后看起来像什么?
  • PSA: mysql_* 函数是 deprecated in PHP 5.5。不建议编写新代码,因为它会阻止您将来升级。相反,请使用 MySQLiPDObe a better PHP Developer

标签: php mysql html-table


【解决方案1】:

阅读http://php.net/manual/de/control-structures.if.php 了解 if 语句。您可以将其嵌套在 while 块中,如

while($row = mysql_fetch_row($query)){
  ...
  if($row[1] == "none") {
    echo "";
  }
  ...
}

【讨论】:

  • 您可能还想使用  而不是 "" 用于 HTML 中的空格。 IE。回声“ ”;
【解决方案2】:

你也可以使用三元运算符:

   $row[6] == 'None' ? echo "<td>  {$row[6]} </td>" : echo "<td> </td>";

【讨论】:

  • 首先,您应该将echo 放在三元运算之前(即echo ($x ? $a : $b);。它更干净。其次,从长远来看,在这里使用简单的if 语句可能会更好。在维护代码方面,越直接越好。
【解决方案3】:

结合以上几个答案:

while($row = mysql_fetch_row($query)) {
    echo '<tr>';        
    for(i=0; i<9; i++) {
        ($row[i] == 'none') ? echo '<td>&nbsp;</td>' : echo '<td>' . $row[i] . '</td>';
    }
    echo '</tr>';
}

【讨论】:

    猜你喜欢
    • 2017-02-15
    • 1970-01-01
    • 2018-01-23
    • 2011-10-25
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 2010-10-17
    相关资源
    最近更新 更多