2016-05-23 99 views
-1

我需要显示结果3行,并有相同的值在对方下。目前的结果都在对方下。我的代码在循环中会有3个IF语句。PHP IF如果在<tr>​​循环while循环MySQL数据库的结果

我的代码是在这里:

echo " 
<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\" class=\"data\"> 
      <tr> 
      <td class=\"dataHeader\"><h2>Vapaa</h2></td> 
      <td class=\"dataHeader\"><h2>Varattu</h2></td> 
      <td class=\"dataHeader\"><h2>Käyttö estetty</h2></td> 
      </tr> 
"; 
while($result = mysql_fetch_array($sql)) { 

     echo "<tr> 

      if ($result[tila] == 'vapaa') { 

      <td>" . $result['id'] . " " . $result['tila']. "</td> 

      } 

      </tr>"; 

     } 

echo "</table>"; 
+1

忘记在if()语句之前关闭字符串。 – Kulvar

回答

0

我认为你不想让if作为文本。所以,你必须这样做:

while($result = mysql_fetch_array($sql)) { 

     echo "<tr> "; 

     //First if 
     if ($result[tila] == 'vapaa') { 
      echo "<td>" . $result['id'] . " " . $result['tila']. "</td>"; 
     } else { 
      echo '<td></td>'; 
     } 

     //Second if 
     if ($result[tila] == 'varattu') { 
      echo '<td>' , $result['id'] , ' ' , $result['tila']. '</td>';    
     } else { 
      echo '<td></td>'; 
     } 

     // Here you can add more ifs. 

     echo "</tr>"; 
    } 

因为表需要有相同数量的细胞(<td>),你需要添加空<td> S作为上述描述。

+0

如果我想在循环中添加更多的IF语句,那么该怎么办?因为当我尝试它的时候,除了当它们都是一样的时候,它们的价值都在彼此之下。这就是我要找的:if($ result [tila] =='vapaa'){echo'​​',$ result ['id'],'',$ result ['tila']。 ''; } if($ result [tila] =='varattu'){echo'​​',$ result ['id'],'',$ result ['tila']。 ''; } –

+0

@OskarLehtonen如果你有建议,我更新了第二个答案。之后,你可以添加更多的ifs。 –

+0

感谢您的更新,但我仍然没有按照我想要的方式工作。我将链接我的屏幕图片,以便您可以看到发生了什么:https://www.dropbox.com/s/v4diipza3gb2f6f/Screenshot%202016-05-23%2018.31.16.png?dl=0我应该在哪里添加else { echo'​​'; }? –

0

错误使用字符串引号分隔符的。

echo '<table>'; 
while($result = mysql_fetch_array($sql)) { 
    echo '<tr>'; 
    if ($result[tila] == 'vapaa') { 
     echo '<td>' , $result['id'] , ' ' , $result['tila']. '</td>'; 
    } 
    echo '</tr>'; 
} 
echo '</table>';