HTML表行的基本数目基于SQL结果的数目

时间:2019-03-31 13:17:07

标签: php html mysql

我想根据PHP中SQL查询的结果创建一个表。我知道,如果我的查询返回2个结果,我可以使用

echo '<table>
      <tr>
         <th>User</th>
         <th>Answer</th>
      </tr>
      <tr>
         <td>$row[0]['username']</td>
         <td>$row[0]['answer']</td>
      </tr>
      <tr>
         <td>$row[1]['username']</td>
         <td>$row[1]['answer']</td>
      </tr>

但是如果我不知道会返回多少结果,该怎么办

编辑:

我已按照建议使用循环,但结果显示在表下方而不是内部。只有表头在里面。有什么想法吗?

echo '<table class="collabtable">
              <tr>
              <th>User</th>
              <th>Answer</th>
              </tr>';
        foreach($rows as $row){
            if (isset($row['collabans'])){
                echo '<tr>
                        <td>'.$row['username'].'</td>
                        <td>'.$row['collabans'].'</td>
                      </tr>';
            }
        echo '</table>';
        }
    }

2 个答案:

答案 0 :(得分:0)

您可以使用循环。见下文。

    <table>
        <tr>
            <th>User</th>
            <th>Answer</th>
        </tr>
        <?php foreach ($rows as $row) { 
          if (isset($row['collabans'])){ ?>
            <tr>
                <td><?php echo $row['username']; ?></td>
                <td><?php echo $row['answer']; ?></td>
            </tr>
        <?php } 
        } ?>
    </table>

答案 1 :(得分:0)

您需要遍历查询结果的所有结果,如下所示:

const logger = window.reduxLogger.logger

希望它对您有帮助。