2016-05-23 142 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>';