PHP IF内部循环,同时循环结果来自MySQL数据库

时间:2016-05-23 14:04:01

标签: php mysql

我需要以3行显示结果并且彼此具有相同的值。目前结果都在相互影响。我的代码在循环中会有3个IF句子。

我的代码在这里:

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>";

2 个答案:

答案 0 :(得分: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>';

答案 1 :(得分: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>,如上所述。