简体   繁体   English

显示表中查询的行

[英]Display the rows from query in table

I have this code to get all the data from my products table. 我有这段代码可以从我的产品表中获取所有数据。 It's working great like this: 像这样很好地工作:

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

But I want these results to be shown in a table inside the body. 但我希望这些结果显示在体内的表格中。 I tried something but it's not working. 我尝试了一些东西,但是没有用。

This is how the table looks : 这是表格的外观:

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

<?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.
}
?>

LE: Each html table row is created based on each database's table row. LE:每个html表行都是基于每个数据库的表行创建的。 So, you just need to loop through the result set (that while ), and for each iteration of the loop, you need to create a new html table row: 因此,您只需要遍历结果集( 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>

Youre getting close. 你越来越近了。 You need to have the loop spit out the rows into the html. 您需要让循环将行吐出到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>

also instead of using a associative array and indexing into it (ie. $row['country']), You can use a normal array and a foreach loop to cut down on the code. 您也可以使用普通数组和foreach循环来减少代码,而不是使用关联数组并对其进行索引(即$ row ['country'])。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM