显示表中查询的行

时间:2017-02-20 22:32:18

标签: php html mysql

我有这段代码来从我的产品表中获取所有数据。它的工作效果很好:

if ($result->num_rows > 0) {
        // output data of each row
        while($row = $result->fetch_assoc()) {
            echo $row['id'];
            echo $row['country'];
            echo $row['price'];
            echo $row['games'];
            echo $row['plus'];
            echo $row['buylink'];
            echo "<br/>";
        }

但我希望这些结果显示在正文中的表格中。我尝试了一些东西,但它不起作用。

表格如下:

<table class="table table-hover table-striped table-condensed">
<thead>
  <tr>
    <th>ID</th>
    <th>Country</th>
    <th>Price</th>
    <th>Games</th>
    <th>Plus</th>
    <th>Buy Link</th>
  </tr>
</thead>
<tbody>
  <tr>
    <td><?php echo $row['id']; ?></td>
    <td><?php echo $row['country']; ?></td>
    <td><?php echo $row['price']; ?></td>
    <td><?php echo $row['games']; ?></td>
    <td><?php echo $row['plus']; ?></td>
    <td><?php echo $row['buylink']; ?></td>

  </tr>
</tbody>

3 个答案:

答案 0 :(得分:3)

<?php
if ($result->num_rows > 0) {
?>
<table class="table table-hover table-striped table-condensed">
  <thead>
    <tr>
      <th>ID</th>
      <th>Country</th>
      <th>Price</th>
      <th>Games</th>
      <th>Plus</th>
      <th>Buy Link</th>
    </tr>
  </thead>
  <tbody>
  <?php while($row = $result->fetch_assoc()){ ?>
    <tr>
      <td><?php echo $row['id']; ?></td>
      <td><?php echo $row['country']; ?></td>
      <td><?php echo $row['price']; ?></td>
      <td><?php echo $row['games']; ?></td>
      <td><?php echo $row['plus']; ?></td>
      <td><?php echo $row['buylink']; ?></td>
    </tr>
  <?php }?>
  </tbody>
</table>
<?php
}else {
 // if there is no result... Code something here.
}
?>

答案 1 :(得分:0)

LE: 每个html表行都是基于每个数据库的表行创建的。所以,你只需要循环遍历结果集(while),并且对于循环的每次迭代,你需要创建一个新的html表行:

<table class="table table-hover table-striped table-condensed">
    <thead>
        <tr>
            <th>ID</th>
            <th>Country</th>
            <th>Price</th>
            <th>Games</th>
            <th>Plus</th>
            <th>Buy Link</th>
        </tr>
    </thead>
    <tbody>
        <?php while($row = $result->fetch_assoc()){ ?>
            <tr>
                <td><?php echo $row['id']; ?></td>
                <td><?php echo $row['country']; ?></td>
                <td><?php echo $row['price']; ?></td>
                <td><?php echo $row['games']; ?></td>
                <td><?php echo $row['plus']; ?></td>
                <td><?php echo $row['buylink']; ?></td>
            </tr>
        <?php } ?>
    </tbody>
</table>

答案 2 :(得分:0)

你越来越近了。你需要让循环将行吐出到html中。

<table class="table table-hover table-striped table-condensed">
<thead>
  <tr>
    <th>ID</th>
    <th>Country</th>
    <th>Price</th>
    <th>Games</th>
    <th>Plus</th>
    <th>Buy Link</th>
  </tr>
</thead>
<tbody>
<?php
while($row = $result->fetch_row()) {
    echo "<tr>";
    foreach ($row as $item) {
        echo "<td>$item</td>";
    }
    echo"</tr>";
}

?>
</tbody>

也可以不使用关联数组并将其编入索引(即$ row [&#39; country&#39;]),您可以使用普通数组和foreach循环来减少代码。