将结果包装在表格中

时间:2018-06-13 15:36:52

标签: php

我有一个回显数据库结果的PHP代码。 代码在这里:

<?php

   $db = new mysqli("localhost", "root", "", "garyline_master");

   if(isset($_GET['keywords'])) {

        $keywords = $db->escape_string($_GET['keywords']);

        $query = $db->query("
            SELECT productID, productName, description
            FROM promo
            WHERE productID LIKE '%{$keywords}%'
            OR productID LIKE '%{$keywords}%'
        ");
   ?>

   <div class="resul-count">
    Found <?php echo $query->num_rows; ?> Results.
    </div>

    <table border="1" align="center">   
    <?php

        if($query->num_rows){
            while($r = $query->fetch_object()){
            ?>
            <div class="result">
                    <tr><?php 
                    echo $r->productID;
                    echo $r->productName;
                    echo $r->description;
            ?>
            </tr>
                </div>
    </table>
            <?php
        }

}
}   
?>

我试图弄清楚编写代码的正确方法。将结果包装在表格中非常感谢任何帮助

3 个答案:

答案 0 :(得分:0)

查看你的代码,你在这里回答结果的部分是什么:

while($r = $query->fetch_object()){
        ?>
        <div class="result">
                <tr><?php
                echo $r->productID;
                echo $r->productName;
                echo $r->description;
        ?>
        </tr>

首先,带有“结果”类的div让我感到奇怪。为什么不简单地将该类应用于tr?其次,你没有“td”元素。也许这就是你所需要的:

while($r = $query->fetch_object()){
    echo '<tr class="result">';
    echo "<td>$r->productID</td>";
    echo "<td>$r->productName</td>";
    echo "<td>$r->description</td>";
    echo '</tr>';
}

答案 1 :(得分:0)

使用查询结果正确形成表格元素应该可以为您提供所需内容。

<tr>
    <td><?php echo $r->productID;   ?></td>
    <td><?php echo $r->productName; ?></td>
    <td><?php echo $r->description; ?></td>
</tr>

答案 2 :(得分:0)

您的代码在html表示形式的表结构中有一些错误。

  • 不要在表格内使用“div”(你可以在td里面做,见下一个主题)
  • 您的数据必须放在“td”标记中,该标记可以包含h​​tml

html中的干净表格如下所示:

objRecord = await _context.Persons
                          .Where(tbl => tbl.DeletedFlag == false && 
                                        tbl.Surname.Contains(theSurname))
                          .ToListAsync();
table {
  font-family: sans;
}

th,
td {
  background-color: #ddd;
}
因此,在您的代码中,它可能看起来像这样(未经测试):

<table>
  <tr>
    <th>Col1 Head</th>
    <th>Col2 Head</th>
    <th>Col3 Head</th>
  </tr>
  <tr>
    <td>1/1</td>
    <td>1/2</td>
    <td>1/3</td>
  </tr>
  <tr>
    <td>2/1</td>
    <td>2/2</td>
    <td>2/3</td>
  </tr>
  <tr>
    <td>3/1</td>
    <td>3/2</td>
    <td>3/3</td>
  </tr>
</table>

人们可以说很多关于你不使用的PHP应用程序设计的好习惯,但到目前为止它可以被称为快速解决方案。